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.

OOP,s Concepts in APEX

What is OOP's Concepts in APEX Programming ?   Object-Oriented Programming System (OOPs) is a programming concept that works on the principles of abstraction , encapsulation , inheritance , and polymorphism . It allows users to create objects they want and create methods to handle those objects. The basic concept of OOPs is to create objects, re-use them throughout the program, and manipulate these objects to get results. OOP meaning “Object Oriented Programming” is a popularly known and widely used concept in modern programming languages like Java, Apex and many other. List of OOP's Concepts >  Class  :   The class is one of the Basic concepts of OOPs which is a group of similar entities. It is only a logical component and not the physical entity. Lets understand this one of the OOPs Concepts with example, if you had a class called “Expensive Cars” it coul...

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...