Last post Feb 09, 2017 09:12 AM by AmolHegana
Dec 16, 2016 01:29 PM|AmolHegana|LINK
I am developing MVC web application, I have created architecture for my blogger projects where people can write there blog. Considering MVC is just UI framework, I have divided solution into several parts. Below are the details. Please give me comments and
how i can improve it for good software architecture.
1. Code should be decoupled.
2. Both website and web api 2 are in MVC.
3. Business logic should be seperate project where functionality should be consumed using Managers.
4. Functionality of manager should be consumed by web api's.
5. Later we can think of provinding Desktop applicaition. It should use same managers from BusinessLogic.
6. Web project(UI) should consume web api's. also website project shouldn't directly consume manager from Business logic. It should go through Web API.(Ajax calls)
7.1 All database operations are provided through abstract layer called commons.
7.2 Repository will be exposed through DBProvider.
7.3 EF5 specific implementation for commons will be provided into EF5 folder.
7.4 EF6 specific implementation for commons will be provided into EF6 folder.
7.5 Most importent - Business logic shouldn't have direct reference into Business logic.
Dec 16, 2016 01:40 PM|codemovement.pk|LINK
re upload the image it is not displaying
Dec 16, 2016 02:07 PM|AmolHegana|LINK
@CodeMovement.pk, Now you can see the image.
I am considering MVC as UI architecture and not putting all things into it. I want to achieve seperation.
Dec 16, 2016 02:41 PM|codemovement.pk|LINK
Every Thing is good as far as i see
I will recommend you two things.
Feb 09, 2017 04:31 AM|hherzl|LINK
I want to know about why do you have repositories for EF5 and EF6 ?
Feb 09, 2017 09:12 AM|AmolHegana|LINK
I am not using both EF5 and EF6 at a time. I just want to make sure underlying database should be flexible to change. I can change database from EF5 to EF6 or oracle or any other db without affecting business logic and UI.
I hope i explained required scenario.