

The onion architecture: Remove all architectural dependencies on your infrastructure - edw519
http://jeffreypalermo.com/blog/the-onion-architecture-part-1/?

======
mattmcknight
I find these sort of things more useful in theory than in practice. I used to
think that the architecture described in this article was a good goal. I have
since seen systems built with the many layers of indirection (and pass through
service layers) and they are very difficult to maintain. Simple interation
bugs become hard to discover because the leaky abstractions built on top of
one another interact in complex ways. They are also very difficult to optimize
for scale- if you don't own your data, it's hard to invalidate your cache, as
just one example.

This onion stinks. If you are obsessed with creating a service layer, stick
with Fowler: <http://martinfowler.com/eaaCatalog/serviceLayer.html>

