In a mood for a closing brainstorm? Let’s have a critical review of the major decisions taken in a typical enterprise application architecture and learn to balance pragmatism with design goals. Find out how to do just-in-time design to keep as many use-cases as simple as possible (KISS).
We’ve all seen that without continuous refactoring simplistic design eventually degenerates into a Big Ball of Mud, under the assault of new features and bugfixes. At the other end, over-engineered code can burden the start-up of the development and then end up freezing the code in some rigid ‘a-priori’ design. It’s up to us to strike a balance that will preserve Developer Happiness™. To do that, we should regularly challenge the architecture of our system and seek ways to simplify it to fit our present needs, with a pragmatic mindset.
“Architecture is the art of postponing decisions”, said Uncle Bob. This session takes this idea further and explains how to Evolve a Pragmatic, Clean Architecture (aka Onion), guiding the design by what Genetic Programming would call a fitness function. It’s the philosophy Victor applied to design and develop 9 applications for IBM, and a key topic of the trainings he delivered at dozens of companies.
Along the way, you’ll also get a nice review of the fundamental data structure types, how to keep the logic simple by two types of extractions, enforcing boundaries using dependency directions, and crafting a testable design, all in a fun, dynamic and interactive session.