🏞 (image)

What OO Fails to Do What object oriented programming fails to do is express collaborations between objects. To show you exactly what I mean, let’s take a look at two system operations (two use cases) requiring the same group of objects collaborating with each other. (…) DCI to the Rescue DCI is a paradigm invented by Trygve Reenskaug (the inventor of the MVC pattern) to solve these problems. (via Data Context Interaction: The Evolution of the Object Oriented Paradigm – SitePoint )...

December 28, 2013 Â· 1 min Â· 92 words

🏞 (image)

via The Clean Architecture | 8th Light by “Uncle” Bob Martin The outer circles are mechanisms. The inner circles are policies. The overriding rule that makes this architecture work is The Dependency Rule . This rule says that source code dependencies can only point inwards . Entities Use Cases Adapters (Controllers, Gateways, Presenters) Frameworks Only Four Circles? No, the circles are schematic. You may find that you need more than just these four....

August 16, 2012 Â· 1 min Â· 194 words

🏞 Keynote: Architecture the Lost Years

Keynote: Architecture the Lost Years by Robert Martin @ Ruby Midwest 2011 (also on YouTube … and a few weeks later, without slides , on The “A” word. A Discussion About Architecture in a Software Craftsmanship conference ) Images clipped together from… The “Presenter” and “View Model” at 35:28 “The whole Enchilada!” at 37:50 “The Database is a Detail!” at 42:26 Elements summary: Entities — Generic application agnostic data and business rules (e....

July 29, 2012 Â· 1 min Â· 172 words

📜 Good architecture

A good architecture allows major decisions to be deferred! Robert Cecil Martin Or putting it in another way… A good architecture maximizes the number of decisions NOT made.

July 28, 2012 Â· 1 min Â· 28 words

🔗 SOLID (object-oriented design)

SOLID (object-oriented design) A mnemonic acronym introduced by Robert C. Martin in the early 2000s: S : Single responsibility principle — “an object should have only a single responsibility.” O : Open/closed principle — “software entities should be open for extension, but closed for modification.” L : Liskov substitution principle — “objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.” (see also design by contract ) I : Interface segregation principle — “many client specific interfaces are better than one general purpose interface....

July 28, 2012 Â· 1 min Â· 112 words