What are the key changes since 2001 that are relevant to you - as someone who builds apps today?



Feel free to just leave your answer as a comment on this page. Thanks!

Last edited Aug 7, 2008 at 6:20 PM by donsmith, version 3


DamonCarr Sep 12, 2008 at 5:32 AM 
That image has been a thorn in my side since... 2002. Most think communication is top down. Consider making explicit for example the fact that your 'Data Access' services should implement contracts (interfaces) which are often either defined in the 'domain entity' assembly as a worst case (but better then above) or in a separate 'contract assembly for data services'. Indeed these are often if not the same, then at least reused in some way WCF Data Contracts (lets put aside operational contracts for now).

So assuming you've cleanly build your entities with the only external dependency(ies) to pure contracts, it is often via D.I./IoC/Strategy Pattern where the concrete implemented DAO instances are made available to either (again worst case) the entities themselves or a coordinating mediator. IN either case no concrete dependencies exist, and the flow is BACK UP, not down the layers. It's much the same as the MVP pattern where you could define the interfaces in the presenter assemblies or in a seperate assembly.

Anyway, thanks for taking stab here.