This proof of concept prototype is attached to an article published on the MSDN Architecture web site.http://msdn.microsoft.com/en-us/library/cc984323.aspx
Summary: This article’s foundation is a previous article that proposed a solution for the separation of concerns between logical and physical layers in an N-tier application; the article is called Software Abstraction Layer.
Once we separate the layers we have to look at how we can go even further and minimize the impact of changes in one layer if another layer changes. How we can also increase the discipline in a team of developers and prevent them from taking shortcuts that will defeat the initial purpose of separating the components so they do not affect each other as long as the interface between them is unchanged.
This article tries to identify the points of coupling. It also proposes a solution that increases the separation of concerns; this allows the applications to be easier to change and deploy. Although the article makes its point using Microsoft® .NET Framework technologies and the C# language, the solutions can also apply to other platforms and languages.
We will also provide a proof-of-concept prototype that illustrates the points we are trying to make in this article.