4 ms·
I think it's the old loose coupling vs. late binding discussion. Some people confuse the former with the latter. You can very mechanically achieve late binding
by _pmf_ 10y ago
I think it's the old loose coupling vs. late binding discussion. Some people confuse the former with the latter.
You can very mechanically achieve late binding with microservices, but it takes extra effort to actually achieve loose coupling; and guess what, the effort might or might not be less than doing loose coupling within the components of a monolith.
- kevinr 10y agoI was just reading the other day this article about the Backend for Frontend pattern (BFF) which suggests the best way to avoid tight coupling is for services you don't want tightly coupled to be owned by different teams, and to allow reasonable duplication of functionality between them. Everybody knows how hard it is to get another team to implement functionality for you. This is where I got the BFF pattern from: http://samnewman.io/patterns/architectural/bff/ http://samnewman.io/patterns/architectural/bff/
- _pmf_ 10y agoI fully agree with this. If a system cannot be extended by some external team using only external extension points, all claims of modularity and architecture are idle talk. I tend to use MEF (on .NET) and OSGi (on the JVM) not because I actually need extensibility, but because I want to enforce certain architectural constraints.