Is there a .Net technology-independent n-Tier Framework?

Dec 5 2019 3:28 AM

Hello C# Corner Community,

The more I read about different .Net technologies, the more confused I get, about the question, what technology to use for an n-Tier Client Server application that will not need to be completely rewritten in a short while, due to changes in the opinion about what the newest and hotest way of writing business software should be.

Don't get me wrong, I think that change is good and necessary. What I envision is a framework of pure logical interfaces that solely describe which tasks can or need to be fulfilled by certain objects and tiers and never how this tasks are fulfilled.
A framework with none implementations whatsoever. A framework that is aware of the .Net Framework itself as the lowest common denominator of all Net technologies but is completely independent and anaware of any specific Net technologies such as Winforms, WPF, WF, Ado.Net, ASP.Net MVC, Entitity Framework .Core.
A framework whose interfaces I as a devoloper have to fill with implementations, that bind it to the desired technology like for instance to Winforms on the UI End, and in the Data Access Layer maybe to a mixture of Entity Framework and pure Ado.Net using datareader for read only data access and datasets for data manipulations in grid-control-like UI elements.
 
The implementations towards a certain .Net technology need to be as little and as centralised as possible, to make changes towards a new future technology as easy and as save as possible. Ideally I wouldn't have to change any class for that, but just derive a new sub class from a framework's base class and give it a name that hints to the technology it implements. Some Metadata in the framework should than be set up to decide which technology-specific subclass of the frameworks baseclass should be used to create an object of at runtime.
 
In search of such a framework I stumbled over Rockford Lhotkas book Expert C# Business Objects written in a time that seems, regarding the change rate in technologies, to be the IT middle ages. Anyway I think it is written in such a clear and intelligent way that the book radiates a kind of timeless truth. What I wonder is, if such a framework could successfully be used in a larger software project today, how often is it used, and are there alternatives that became kind of a standard for such purposes. Has Mircrosoft themselves not written such an n-Tier framework that is independent of certain .Net technologies?
I would be very thankful for any thougths or suggestions you have on this topic.
 
kind regards
Christian 
 

Answers (2)