Dallas TechFest Session by Caleb Jenkins, presented on July 30, 2010
I have to say, Dallas Tech Fest is over and done, but I am still learning from it, especially the 10 Practices every developer should know. Caleb Jenkins, in mine and most opinions, had the best talk of the day. I encourage if anyone has the opportunity to listen to a session of his, go! I encourage you to breeze through the slides. Caleb went over Object Orientation, SOLID, Patterns, Secure Coding, Team Work, Unit Testing and Processes. I’m emphasizing on Object Oriented, which led me to Core Agile OO Design Principles. The Principles of OO Design are SOLID
S - Single Responsibility Principle (SRP). The SRP, also known as SoC, means each class should have only one reason to change.
O - Open Close Principle (OCP). “Software entities should be open for extension, but closed for modification.” — Robert Martin paraphrasing Bertrand Meyer
L - Liskov Substitution Principle (LSP). The LSP is flexible to change behavior by passing different objects around the solution as needed. Caleb was heckled at this point due to a misrepresentation of LSP. If you every seen StrongBad Emails, you’d know what I mean when all I could think was, “… I heard a couple of nerds arguing about it one time.”
I - Inversion of Control (IoC). Objects that depend on other objects to do work should not be responsible for creating those object themselves.
D - Dependency Inversion Principle. The IoC leads to DIP.
These subjects are worth to look over and research from the presentation. I enjoyed the session and hope to share more regarding OOD and SOLID.