Model View Controller (MVC) Pattern

Model View Controller (MVC) Pattern

About Model View Controller (MVC) 

  • Separation of version from View components makes it viable to implement several person interfaces that reuse the common middle commercial enterprise logic.
  • Duplication of low-stage model code is removed across a couple of UI implementations.
  • Decoupling of version and examine code results in a progressed capability to write unit assessments for the middle commercial enterprise logic code.
  • Modularity of additives permits center good judgment developers and UI developers to work concurrently without affecting the opposite.

Essentially, it say that there are 3 wonderful duties for our application.

model view controller


  • Manages the app data and state
  • Not worried with UI or presentation
  • Frequently persists somewhere
  • Same Model should be reusable, unchanged in specific interfaces


  • Present the model to the user in the proper interface
  • Permits user to manipulate facts
  • Does now not store any data besides to cache state
  • Without problems reusable & configurable to display various data


  • Intermediary between model & View
  • Updates the view when the model adjustments
  • Updates the model whilst the person manipulates the view
  • Commonly where the app common sense lives
  • This pattern decouples adjustments to how information are manipulated from how they are displayed or saved, whilst unifying the code in every aspect. In other words, it is a way of growing apps preserving the records (model) used inside the application, and the visible (view) thing of this system separate from one another, every interacting most effective with a controller containing the common sense of our application. The view and the model interact simplest with the controller by no means with each different.
  • A triad of three modules connected through the Observer pattern. The View drives a presentation and factors inside the View take a look at the model. elements in the Controller examine the View and model, and elements within the model look at the Controller.
  • In a easy software, the Controller can have an effect on adjustments to the model based totally on consumer input and also speak the ones changes to the View in order that the UI can be updated. In actual-international packages, but, the View will typically additionally want to update to reflect extra changes to the underlying version. that is important because changing one thing of the version may additionally cause it to replace different dependent model nation. This calls for version code to tell the View layer while nation adjustments manifest. The model code, but, cannot statically bind and get in touch with the View code. this is wherein observers come in.
  • The Observer sample is a selected example of the put up/subscribe paradigm. those techniques outline a one-to-many dependency between gadgets such that a writer object can notify all subscribed gadgets of any state changes with out depending on them at once.
  • The Model View Controller (MVC) model may be discovered in UI toolkits which includes Nokia’s Qt, Apple’s Cocoa, Java Swing, and MFC library.

Model View Controller (MVC) pattern in Android architecture

Models: content material provider.

Facts Managers which can be the advocated form of inter-application facts sharing.

View: activities.

this is the utility’s number one user interface aspect. each character display screen of an Android application is derived from the interest Java elegance (

they are packing containers for views (android.view.View).

Controllers: services.

these are background components that behave like UNIX daemons and windows offerings. They run invisibly and perform ongoing unattended processing.

Model View Controller (MVC) Diagram in Android

Model View Controller

  • Android tries to apply this with the aid of offering the consumer with sources and layouts (res folder) which might be either raw information documents, such as pictures, or layouts (in XML format).
  • Those are the views, they dictate precisely what the program will look like, how everything is laid out. Android follows the “essential idea” from above with the aid of doing actually no work in the views(ie. No loops, no procedural programming).
  • The controllers are referred to as activities, they interact with the views to create a person revel in. The SDK triggers events in the activities.
  • The activity collects the statistics from the models, builds the view and units up the event triggers needed to accomplish the duties.
  • Models are left to the user’s discretion, usually they’re implemented as classes, it’s miles endorsed to construct as many training that haven’t any ties to the sports as viable to offer modularity.

Diagram for Model View Controller (MVC) Architecture in Android

 Model View Controller (MVC) Pattern

Also Read- Multi-Level Marketing (MLM)

If you are, looking to Develop and design for your project then feel free to contact us at any time

  • Call Us- +91 9910781148, +1 8033353593
  • Email:
  • Skype- tecorb

“We maintain transparency with our customers. Our values and business ethics has given us repeated customers. We tend are proud to be a reliable outsourcing partner for many clients across the World.”

Published By – Hafijur Rahman ( Android Developer )