The ASP.NET MVC web application framework
which is based on Model-View-Controller provides a designing pattern
integrating the principle of SoC (Separation of Concerns). This is mainly a
modular approach to design and separating the information that is essential to
perform a particular functionality of the computer program within the module
which is responsible for the concern.
The Model portion of doing any ASP.NET MVC online Training is implemented
through C# classes that defines different properties and methods of the data
objects controlled by the application. These class objects are referred to as
entities when they are instantiated. They are also referred to as POCO’s
(Plain-Old Class Objects) as each object is just a C# Class.
Model-View-ViewModel
(MVVM):
Now, the Model-View-ViewModel that is MVVM
design pattern differentiates the models that represent the data objects of ASP.NET MVC project as per the
conceptual form from the implementation of the model classes used to create
Views and to perform CRUD (Create, Retrieve, Update, and Delete) operations on
different data entities. The View model mainly reflects the necessities of the
View rather than any conceptual objects which are being affected by the View.
Entity
Framework (EF):
\
Entity Framework is an object-relational
mapper (ORM) which provides another layer of SoC by preparing an interface
between persistent storage of data in a Relational Database (RDB) and the model
objects of the MVC Framework. The developers can easily write class objects as
EF enables Code First Database design which can be translated into SQL data
definition language (DDL) that will ultimately create and modifies the
underlying database to keep the data store in sync with the Model through
migrations. Entity Framework mainly added to the ASP.NET MVC project through
NuGet package.
Repository
Pattern:
The Repository pattern of designing model
separates the logic that stores and retrieves data from business logic which
are working on the data. Through this, a developer can get numbers of benefits
including elimination of any duplication of code and assisting testing.
Repository pattern in web application facilitates the writing of short and well
defined Controller actions to act on the data types of objects.
Structuring the Solution:
Now, if all code can be incorporated in one
ASP.NET MVC project, the project directory will include the folders and files
for:
·
Controllers
·
Views
·
View Models
·
Entity Models
·
Repositories
·
The Data Context
·
EF Migrations
Also, you will get additional fi8les for
application startup, configuration, fonts, routing, scripts, and style sheets
(CSS) and utility classes. So, any changes made in one area, the code for the
whole section has to be redeployed. Using any separate projects on ASP.NET MVCsolution, the developers can also create a greater separation of concerns and
integrate the development, debugging, testing and deployment process. Different
Layers of Web Applications can be divided into projects as follows:
Project
|
Components
|
Web
|
Controllers,
Views
|
Entities
|
Models, View Models
|
Data
|
Data
Context, Repositories
|
Common
|
Utility functions,
Enumerations
|
There are some more complex solutions which
can have separate projects for financial transactions, logging and other
functionalities. So, to work on multiple projects, ASP.NET provides selective
loading of projects for solutions up to 30 projects.
0 Comments