Twin Cities Software Symposium
Sep 30 - Oct 1, 2011 - Minneapolis, MN
View the event details here ».
Rock SOLID Software
Object-oriented programming was formally introduced in the 1970's with the advent of Smalltalk. C++ took it mainstream in the 1980's, and Java carried it to the next level in the 1990's. Unfortunately, if you examine the vast majority of Java codebases, what you'll find is a bunch of C-style structs (a.k.a. JavaBeans) and functions. As these codebases grow, a number of design smells can potentially crop up, which in turn cripple our ability to respond to change. We need SOLID principles that we can apply to keep our software clean and malleable.
Robert C. "Uncle Bob" Martin identified several design smells in his book Agile Software Development: Principles, Patterns, and Practices:
- Rigidity
- Fragility
- Immobility
- Viscosity
- Needless Complexity
- Needless Repetition
- Opacity
We can reverse and in fact avoid these techniques by following the principles of SOLID software design:
- Single Responsibility
- Open-Closed
- Liskov Substitution
- Interface Segregation
- Dependency Inversion
You'll leave this session equipped to ferret out design smells and apply these principles on your next project.
About Matt Stine
Matt Stine is a Community Engineer with Cloud Foundry (http://cloudfoundry.com) by Pivotal (http://goPivotal.com). He is a twelve year veteran of the enterprise software and web development industries, with experience spanning the healthcare, biomedical research, e-commerce, retail store and insurance domains.
Matt is obsessed with the idea that enterprise IT “doesn’t have to suck,” and spends much of his time thinking about lean/agile software development methodologies, DevOps, architectural principles/patterns/practices, and programming paradigms in an attempt to find the perfect storm of techniques that will allow corporate IT departments to not only function like startup companies, but also create software that delights users while maintaining a high degree of conceptual integrity.
Matt has spoken at conferences ranging from JavaOne to CodeMash and serves as Technical Editor of NFJS the Magazine (https://www.nofluffjuststuff.com/home/magazine_subscribe). Matt is also the founder of the Memphis/Mid-South Java User Group.
More About Matt »
