SOLID Web API Project Organization for maintainability and scalability

I like to organize my Wep API projects using the following solution organization (Sorry for the ugly diagrams…).


Each circle in the diagram is a .Net project (or DLL) in the solution:

By using this separation we can follow the SOLID principles, for example I can replace the Solution.DAL DLL for a new one by just changing the binding in the Solution.IoC DLL.

The back-end projects and front-end projects only communicate to each other via AJAX and there is not C# or ASP at all in the front-end.

I feel really strong about this way of organizing web applications because I believe it is highly maintainable and scalable. For example, if in 2 years time Bootstrap or Angular become a legacy technologies
we can create a new front-end and reuse the 100% of the back-end. We could also create a new front-end application that re-use the same back-end reducing the amount of work.

If I the application is too complex I could add extra DLLs (Business, Helpers, PDF service…) to separate concerns as needed:



Now read this

How to create your own TypeScript type definition files (.d.ts) and contribute to DefinitelyTyped on GitHub

Learn how to create your own type definition files and how to contribute to the TypeScript community at DefinitelyTyped Helping your community is ? ? AWESOME ? ? It is Saturday evening and it’s raining a lot in Ireland. So I decided to... Continue →

Subscribe to Wolk Software Engineering

Don’t worry; we hate spam with a passion.
You can unsubscribe with one click.