This is review of the 11th chapter from the book-”Clean Code: A Handbook of Agile Software Craftsmanship” by Robert C. Martin
In this chapter we go higher up and look at the software as a system- in whole. Just like clean code is important – so is the cleanliness of the system
In this chapter, Robert talks about Separation of concerns, Dependency Injection and Cross cutting concerns.He also draws contrast between the EJB architecture (EJB1 to EJB3) and Spring.
The biggest strength of Spring is- that when you never code for Spring. Spring adopts you rather than you adopting Spring.
AOP and AspectJ are also discussed along with Java Proxies. There are pretty powerful mechanisms to implement separation of concerns.
Its infeasible to design the whole system upfront. What works is small steps- keep room for improvement as things grow.
Robert concludes this chapter with a very sagely advice-
Use the simplest thing that can possibly work
For review of other chapters- please see this post.


Pingback: Book Review: Clean Code: A Handbook of Agile Software Craftsmanship | Technology Cafe