Application Domain Layer

The objects used by your application represent its domain. Unlike other database platforms where the record data is, by default, hidden from end users, the Lightning Platform displays your record data through the standard Salesforce UI, reports, dashboards, and Salesforce Mobile application. Field and relationship labels that you give your objects and fields are also used by these UI experiences. From the moment you create your first object, you start to define your application's domain, just as Salesforce Standard Objects represent the CRM application domain.

Martin Fowler's Patterns of Enterprise Application Architecture also recognizes this concept as a means of code encapsulation to combine the data expressed by each object with behaviors written in code that affect or interact with that data. This could be Apex Trigger code, providing defaulting and validation, or code awarding championship points to contestant records or checking racing rules compliance.

This chapter will extend the functionality of the FormulaForce application using the Domain layer pattern, as well as highlight specific concerns, guidelines, best practices, and demonstrate how the Domain layer integrates with both Apex Triggers and the application's Service layer code.

The following topics will be covered in this chapter:

  • Introducing the Domain layer pattern
  • Implementing design guidelines
  • The Domain class template
  • Implementing the Domain Trigger logic
  • Implementing the custom Domain logic
  • Object-orientated programming
  • Testing the Domain layer
  • Calling the Domain layer
  • Updating the FormulaForce package

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.11.247