Infrastructure is hard.
When you’re developing a new app, it is often daunting to decide how you’re going to structure the app.
The MVC design pattern is a well tested, and time-honored, architecture for applications of all types.
In the last few years the pattern has gained recognition through Microsoft’s ASP.NET. this is not the only technique for creating an MVC application. The MVC pattern can be implemented in any object-oriented programming language.
Today I bring you SimpleMVC. SimpleMVC is a new package for C sharp developers that provides an API they can use to create great MVC based applications. SimpleMVC uses an asynchronous programming model to allow for usage in any kind of application such as WPF, ASP.Net WinForms and even Unity or Xamarin.
MVC is not a flavor of the month. Unlike MVVM, it is capable of creating applications that are cross-platform as well as cross UI technology. Models, View definitions, and Controllers are each encapsulated so that they can be reused across different applications that need the same business logic.
SimpleMVC uses an Adapter pattern to allow models to be transported across not only platforms but data access types. Because of this you could use MS Sql Server, Oracle, or even simple mock Frameworks to provide data to your application all without changing a single line of code in the controller the model or the View. To accomplish this I also created SimpleDI or Simple Dependency Injection.
SimpleDI allows you to create object definitions in any way you decide to define the dependency. For example you may use the built-in JSON formatted dependency definition or you may create a hard-coded dependency definition.
All of this is about flexibility.
The combination of SimpleDI an SimpleMVC allow you to create cross-platform, cross-application, and cross-technology implementations of applications that will grow with you as you need them to grow.