Core Architectural Principles

  1. Separation of Concerns - Distinct layers for presentation, business logic, and data access

  2. Loose Coupling - Minimize dependencies between components

  3. High Cohesion - Group related functionality together

  4. Domain-Driven Design - Organize around business domains

  5. Dependency Inversion - Depend on abstractions, not concrete implementations

Architectural Layers

Presentation Layer

  • Lightning Web Components

  • Visualforce Pages

  • Experience Cloud Components

Business Logic Layer

  • Service Classes

  • Domain Classes

  • Selector Classes

Data Access Layer

  • Unit of Work Pattern

  • Repository Pattern

  • Query Builders

Last updated

Was this helpful?