0% found this document useful (0 votes)
14 views

MVC Framework – Architecture Patterns (2)

Uploaded by

eshaasif005
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

MVC Framework – Architecture Patterns (2)

Uploaded by

eshaasif005
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 14

Software Construction and

Development

Model View Controller (MVC)


Architecture Patterns, MVC Applications
MVC Architecture Patterns

• The MVC architecture pattern turns complex application development


into a much more manageable process
• It allows several developers to simultaneously work on the application
• These patterns can be applied to any web application
• Today the MVC pattern is used for modern web applications because
it allows the application to be scalable, maintainable, and easy to
expand
Why MVC Architecture Patterns?
• Three words: separation of concerns, or SoC for short
• The MVC pattern helps you break up the frontend and backend code
into separate components
• This way, it's much easier to manage and make changes to either side
without them interfering with each other
• But this is easier said than done, especially when several developers
need to update, modify, or debug a full-blown application
simultaneously
Components of MVC Architecture
Pattern
1. Model Component
The model represents the data to the user, it is the most important
level. This level defines the storage location of the application’s data
objects. The model component is interlinked with the controller and
view components. The model component need not be a single object
and it may come as a structure of objects.
View (UI) Component
• The view component displays the model data to the user. It helps in
creating an interface that shows the final output to the user
• It is obvious that a view component will not display anything of itself
• The view component displays the output to the users upon receiving
the instruction/information from the controller/model
• In addition, it collects requests from the user-end and informs the
controller
• The model component and view components are connected to each
other
• The view component gets the data necessary for the presentation
from the model with the help of certain questions
• These questions are answered and sent back to the view component
with easy terminology so that they can understand the answers sent
by the model/controller easily
Controller Component
• The controller component acts as the central unit of the MVC
architecture
• In addition, the controller component acts as a bridge between a user
and the system
• The controller component understands the output,
processes/converts it to appropriate messages and sends it to the
view component
MVC Applications In Mobile and Web
Development
• MVC (model-view-controller) is considered one of the most popular in
the mobile and web app development
• The MVC pattern allows creating simple cross platform app
development and have plain navigation logic, uncomplicated content,
mostly standardized UI app design, and a fairly straightforward user
experience
• It can easily and quickly implement tasks of the “loaded -> displayed”
type.
• MVC is a cross-platform development model that is a secure, server-
based solution
• Deploying mobile Web sites and applications from an ASP.NET MVC-
based server-cloud environment is a natural fit for enterprises moving
to mobile application development
• The model-view-controller scheme is better for mobile development
because the model and controller can be kept common for all views
• You can have the same model for an iPhone as you do for a desktop.
The fact that you can keep your basic business logic the same while
having multiple views is key to why ASP.NET MVC is best suited for
mobile applications
• With multiple views, you can create and control different layouts for a
variety of devices. For example, you could have one layout for tablets
and a different layout for phones. MVC gives you that degree of
control
• With multiple views, the server will actually detect the type of device
making a request and then provide the correct view for that device.
• This is something ASP.NET MVC inherently does, making life for the
developer that much easier
• By using the paradigm of MVC, in the end you’ll have an app that
is not just an enhanced Web site that is also suitable for mobile—only
treating mobile as a second thought—but you will instead have an
app that can fully utilize all that the mobile device offers. As a result,
by using MVC, your web-based app will provide an experience as
seamless as a native app
• MVC architecture works exceptionally well when your web app
demands the support of a huge developer team, and for web
designers who require complete control over the app’s behavior
• MVC architecture is a one-of-a-kind approach to building web apps.
• The adoption of MVC architecture results in the lesser expense of
time & money, and the ability to create multiple views makes it the
best architecture for web app development
When MVC Architecture is Useful?
• When you need a faster development process
• If you want to provide a straightforward flow
• When you want to create a simple client/server application
• When you want to work with simple data
• If you need unformatted data results
• When you want to create an SEO friendly platform
• When there is a unidirectional flow of instructions on a screen
• JavaScript has grown in popularity, and it's taken over the backend in recent
years
• More and more full-blown JavaScript applications have opted for the MVC
architecture pattern in one way or another
• Frameworks come and go, but what has been constant are the concepts
borrowed from the MVC architecture pattern
• The most attractive concept of the MVC pattern is separation of concerns
• Modern web applications are very complex, and making a change can
sometimes be a big headache
• Managing the frontend and backend in smaller, separate components allows for
the application to be scalable, maintainable, and easy to expand

You might also like