Keith Smith presents on Model View Controller best practices

Steve Litt <[email protected]> Mon, 05 Sep 2022 22:55:52 -0400
Newsgroups gmane.org.user-groups.linux.svlug
Message-ID <a4f7bb3040e55f91a2dba73d9aef46acd60466a4.camel@troubleshooters.com>
SGkgYWxsLAoKVGhlIFdlZG5lc2RheSwgU2VwdGVtYmVyIDcsIDIwMjIgR29MVUcgb25saW5lIG1l
ZXRpbmcgd2lsbCBzdGFydCBhdCB0aGUgU1BFQ0lBTCBUSU1FCm9mIDZwbSBFYXN0ZXJuIERheWxp
Z2h0IFRpbWUgcmF0aGVyIHRoYW4gdGhlIHVzdWFsIHRpbWUuIEl0IHdpbGwgYmUgYXQKaHR0cHM6
Ly9tZWV0LmppdC5zaS9nb2x1Zy4gRnVsbCBpbmZvcm1hdGlvbiBpcyBhdCBodHRwOi8vZ29sdWcu
aW5mb8KgLgoKUEhQIGV4cGVydCBLZWl0aCBTbWl0aCB3aWxsIG91dGxpbmUgdGhlIHdheSBoZSBk
b2VzIHRoZSBNVkMgKE1vZGVsIFZpZXcgQ29udHJvbGxlcikKd2ViIGFwcGxpY2F0aW9uIG1ldGhv
ZG9sb2d5LiBUaGlzIGlzIGltcG9ydGFudCBiZWNhdXNlIHRoZXJlIGFyZSBtYW55IGNvbnRyYWRp
Y3RvcnkKZGVmaW5pdGlvbnMgb2YgTVZDIG91dCB0aGVyZSwgbWFueSBvZiB3aGljaCBsZWFkIHRv
IGRpZmZpY3VsdCB0byBtYWludGFpbiB2b2xsZXliYWxsCmNvZGUgYW5kIGluY29uc2lzdGVudCBj
b2RpbmcuIEFtb25nIG90aGVyIHRoaW5ncywgS2VpdGggd2lsbCBvdXRsaW5lIHRoZSBmb2xsb3dp
bmc6CgoqwqDCoMKgIE1haW4gQmVuZWZpdHMgb2YgTVZDLgoKKsKgwqDCoCBQaGlsb3NvcGh5IG9m
IE1WQy4KCirCoMKgwqAgVGhlIG1lYW5pbmcgYW5kIGZ1bmN0aW9uIG9mIHRoZSBNb2RlbCwgdGhl
IFZpZXcgYW5kIHRoZSBDb250cm9sbGVyLgoKKsKgwqDCoCBBcmUgdGhlcmUgb25lIG9yIHNldmVy
YWwgTW9kZWxzPyBWaWV3cz8gQ29udHJvbGxlcnM/IFdlYiBiYXNlZCBNVkMKZG9jdW1lbnRhdGlv
biBkaWZmZXJzIG9uIHRoaXMgcG9pbnQuCgoqwqDCoMKgIFdoaWNoIGNvZGUgdG8gcHV0IGluIHRo
ZSBNb2RlbCwgd2hpY2ggdG8gcHV0IGluIHRoZSBWaWV3LCBhbmQgd2hpY2ggdG8gcHV0IGluCnRo
ZSBDb250cm9sbGVyLgoKKsKgwqDCoCBUaXBzIG9uIGhvdyB0byBrZWVwIHRyYWNrIG9mIHlvdXIg
Y2xhc3Nlcywgb2JqZWN0cyBhbmQgbWV0aG9kcywgaW4gb3JkZXIgdG8KY29kZSBxdWljayB3aXRo
IGEgbWluaW11bSBvZiBkZWJ1Z2dpbmcuCgoqwqDCoMKgIFBpdGZhbGxzIHRvIGJlIGNhcmVmdWwg
b2Ygd2hpbGUgY29kaW5nIE1WQy4KCklmIHlvdSdyZSB1bmZhbWlsaWFyIHdpdGggTVZDLCBvciBp
ZiB5b3UndmUgZ290dGVuIGEgYmFkIGltcHJlc3Npb24gb2YgTVZDIGR1ZSB0bwpjYXJlbGVzcyB3
ZWIgZG9jdW1lbnRhdGlvbiwgb3IgaWYgeW91IHVzZSBNVkMgYnV0IGp1c3Qgd2FudCB0byBnYWlu
IG1vcmUgaWRlYXMgYW5kCnRlY2huaXF1ZXMsIG9yIGlmIHlvdSBjcmVhdGUgd2ViIGFwcGxpY2F0
aW9ucyBvciBpZiB5b3Ugd2FudCB0byBzdGFydCBjcmVhdGluZyB3ZWIKYXBwbGljYXRpb25zLCB0
aGlzIHByZXNlbnRhdGlvbiBpcyBmb3IgeW91LgoKU3RldmVUCgpTdGV2ZSBMaXR0CkdvTFVHIFB1
YmxpY2l0eSBDb29yZGluYXRvcgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCnN2bHVnIG1haWxpbmcgbGlzdApzdmx1Z0BsaXN0cy5zdmx1Zy5vcmcKaHR0
cDovL2xpc3RzLnN2bHVnLm9yZy9saXN0cy9saXN0aW5mby9zdmx1Zwo=