Some architectural problems have been with us - in one form or another - since the dawn of software development: How should I modularise my application? How can I ensure my application is loosely coupled? How can I keep things abstracted and encapsulated, and how much abstraction and encapsulation is too much? What system should I use for loading my program (classes) into memory? How do I configure my application? How should I handle maintenance and versioning? As software developers, we've learned a lot about writing modular, maintainable, and cleanly architected programs since we first fed a string of 0s and 1s into a computer. However, there are still lots of open questions. This talk will explain what we now know and discuss the architectural challenges which are still worrying us, as an industry. It will go underneath the theory to provide real-world examples of when patterns go right, when they go wrong, and when they go so wrong they leave a trail of architectural destruction in their wake.
Sign in to add slides, notes or videos to this session