# Multi-tenancy, MVC and the Lightning Component Framework

*Platform Developer Study Guide · Developer Fundamentals · Last updated October 15, 2026 · https://www.certifyforce.com/study-guide/platform-developer/developer-fundamentals/multi-tenancy-mvc-and-lightning-framework*

How one shared, metadata-driven platform serves every org and why that forces governor limits, how Salesforce features map onto Model-View-Controller, and how Lightning web components and Aura components fit the Lightning Component Framework.

- Certification: Salesforce Platform Developer
- Exam section: Developer Fundamentals
- Study guide: https://www.certifyforce.com/study-guide/platform-developer

**Official exam objective:**

> Understand multi-tenant concepts and design frameworks, such as MVC architecture and Lightning Component Framework.

## What the exam expects

- Explain how many orgs share one database and runtime yet stay isolated, and why that makes governor limits unavoidable.
- Describe what happens when you create an object, field or Apex class in a metadata-driven platform, and why upgrades do not break customizations.
- Map objects, pages, components, Apex and automation onto the Model, View and Controller layers.
- Compare Lightning web components and Aura components within the Lightning Component Framework, including bundle structure and interoperability.
- Key terms: **tenant/org** (one customer's isolated slice of the shared platform, identified by OrgID); **metadata** (data that describes objects, fields, UI and logic); **governor** (a runtime-enforced resource limit); **MVC** (splitting an app into data, presentation and logic); **Lightning components** (the umbrella term for Aura components and Lightning web components).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Tenant isolation | Every org-specific row in the shared tables carries an OrgID | [Multitenant Architecture](https://developer.salesforce.com/wiki/multi_tenant_architecture) |
| Creating an object or field | Stores metadata in MT_Objects/MT_Fields; no physical table, no DDL, no downtime | [Multitenant Architecture](https://developer.salesforce.com/wiki/multi_tenant_architecture) |
| Expensive query | A query the optimizer regards as too expensive throws a runtime exception | [Multitenant Architecture](https://developer.salesforce.com/wiki/multi_tenant_architecture) |
| Data access from Apex | Inline SOQL and SOSL to read, DML to write; no direct SQL | [What is Apex?](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_intro_what_is_apex.htm) |
| Before every upgrade | Salesforce runs all unit tests to confirm custom Apex still works | [What is Apex?](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_intro_what_is_apex.htm) |
| Exceeding a governor | Throws a runtime exception that can't be handled | [Governor Limits](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_gov_limits.htm) |
| Transaction wall-clock ceiling | 10 minutes, sync and async | [Governor Limits](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_gov_limits.htm) |
| Async executions per 24 hours | 250,000 or user licenses × 200, whichever is greater; org-wide | [Governor Limits](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_gov_limits.htm) |
| Scheduled Apex classes | 100 at once (5 in Developer Edition) | [Governor Limits](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_gov_limits.htm) |
| LWC and Aura nesting | Aura can contain LWC; LWC can't contain Aura | [LWC and Aura Together](https://developer.salesforce.com/docs/platform/lwc/guide/interop-intro.html) |
| LWC bundle naming | Folder and files share one name; `myComponent` is `<c-my-component>` in markup | [LWC Component Folder](https://developer.salesforce.com/docs/platform/lwc/guide/create-components-folder.html) |
| LWC JavaScript class | Default export extends `LightningElement` from `lwc` | [LWC JavaScript File](https://developer.salesforce.com/docs/platform/lwc/guide/create-components-javascript.html) |

## Check yourself

- Why can Salesforce add a custom field without locking other tenants?
- Why does Apex enforce governor limits at all?
- When does adding more Queueable jobs stop helping a high-volume org?
- When is Aura still the right choice for a new component?
- Which class must a Lightning web component's JavaScript file extend?

## Sources

- [Platform Multitenant Architecture](https://developer.salesforce.com/wiki/multi_tenant_architecture)
- [Execution Governors and Limits](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_gov_limits.htm)
- [What is Apex?](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_intro_what_is_apex.htm)
- [What is Visualforce?](https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_intro_what_is_it.htm)
- [Introducing Aura Components](https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/intro_framework.htm)
- [Get Started with Lightning Web Components](https://developer.salesforce.com/docs/platform/lwc/guide/get-started-introduction.html)
- [Lightning Web Components and Aura Components Working Together](https://developer.salesforce.com/docs/platform/lwc/guide/interop-intro.html)
- [Component Folder](https://developer.salesforce.com/docs/platform/lwc/guide/create-components-folder.html)
- [Component JavaScript File](https://developer.salesforce.com/docs/platform/lwc/guide/create-components-javascript.html)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 20 linked practice questions, and unlimited timed mock exams are included with the Platform Developer pack (USD $19): https://www.certifyforce.com/practice-exams
