Skip to main content

Salesforce Architecture ( MVC )

Salesforce MVC Architecture  ( Model - View - Controller )

Salesforce MVC (Model view Controller) separates the complexity of the business logic from the User Interface and database. Salesforce MVC architecture helps to develop powerful business application. Everything we develop in Salesforce is part of Model View Controller.

Also, It is very important to understand about the flow of the real-time project when working with SFDC MVC architecture in an organization / individually. Everything we develop in Salesforce is a part of Model View Controller



Model :

  • It is also called as a Database-Layer.
  • Model or the database is the backbone which forms the bridge between View and Controller.
  • In Salesforce, we can say that sObjects are the model as every entity in salesforce is mapped to some sObject.
  • Objects, Fields, Relationships come under Model Layer of Model View Controller in Salesforce.

View :

  • It is also called as a User-Interface-Layer.
  • Visualforce Pages are used to present the data to users / create the user interface.
  • Force.com uses Visualforce pages and standard UI buttons, forms, tabs and page views to define a view.
  • Visual Force pages, Page Layouts, Tabs comes under View Layer of Model View Controller in Salesforce.

Controller :

  • It is also called as a Business-Logic-Layer.
  • Every event performed on the page will be controlled by controller. Force.com uses Apex triggers and Apex Controllers as the controller in the  Salesforce MVC architecture.
  • Workflows, Apex Classes, Triggers comes under Controller part in Model View controller in Salesforce.

Declarative Development in Salesforce.

Declarative development in Salesforce is done by point-and-click with out using single line of code using browser. In this method, Salesforce follows MVC Architecture when developing application.

Model View Controller
Objects Applications Workflow Rules
Fields Tabs Validation Rules
Relationships Page Layouts Assignment Rule
Records Types

Programmatic Development in Salesforce

In this model of development in Salesforce, Salesforce coding is required. The Salesforce MVC architecture are as follows.

Model View Controller
Web Services API Visualforce Pages Apex Controllers
Metadata API Visualforce Components Apex Trigger
External Object Site Web Service API


By : Harshal Lad   

Comments

Popular posts from this blog

Apex Triggers and Classes

  Apex Triggers   is use to execute the functionality or piece of code on record manipulation ( i.e., CREATE / UPDATE / DELETE / UNDELETE   records ). A trigger executes before and after an event occurs on record.

Salesforce Development Index

C ourse C ontent Declarative Features Vs Programmatic Features Salesforce Architecture ( MVC ) Data Types Apex Classes If – Conditional and loops Collections in APEX List Set Map Oops Concepts Inheritance Polymorphism Encapsulation Abstraction Data Manipulation Language (SOQL) & SOSL Exception Handling Triggers and its Best Practices Custom Setting, Custom Metadata and Custom Labels Where to use it ? How to use it ? Apex Trigger + Custom Setting Asynchronous Apex Batch Classes Scheduler Classes Queueable Classes Future Method Apex Governor Limits Test Classes for Triggers and Apex classes Visualforce Pages Standard Controllers Extension Controllers Custom Controllers Wrappers Classes in Apex By : Harshal Lad ( CorpoVision Te...

Polymorphism in Apex

Polymorphism in Apex P olymorphism in simple word can be said as  One name many forms. For example , a man can play a role as an Employee, as a Father or as a Husband in his day-to-day life. It means that he can be in any of these form.  Polymorphism can be achieved by these two ways : Method Overloading Method Overriding Method Overloading If a class have multiple methods with same name but different parameters (either different length of the arguments or different data types of the arguments), it is known as Method Overloading. If we have to perform only one operation, with the same name of the methods increases the readability of the program as well as its very logical too. Let’s suppose if we want to perform addition of the given numbers but there can be any number in arguments as below: Example of method over...