Each has at least one layer for business rules, and another for interfaces.Įach of these architectures produce systems that are: They all achieve this separation by dividing the software into layers. They all have the same objective, which is the separation of concerns. Though these architectures all vary somewhat in their details, they are very similar. BCE by Ivar Jacobson from his book Object Oriented Software Engineering: A Use-Case Driven Approach.DCI from James Coplien, and Trygve Reenskaug.Screaming Architecture from a blog of mine last year.Ports and Adapters) by Alistair Cockburn and adopted by Steve Freeman, and Nat Pryce in their wonderful book Growing Object Oriented Software Over the last several years we’ve seen a whole range of ideas regarding the architecture of systems.