Patterns of Enterprise Application Architecture
Sample (from 14 notes)
|Front||What is a Value Object? What are 2 examples, and a key difference between reference and value objects? How should we persist them?|
|Back||A small simple object, like money or a date range, whose equality isn't based on identity.A key difference between reference and value objects is how they deal with equality. A reference object uses identity as the basis for equality... A Value Object bases its notion on equality on field values within the class (eg two date objects are the same if their month/day/year values are the same).Value Objects shouldn't be persisted as complete records. Instead use Embedded Value or Serialized LOB.|
|Front||What are the 2 kinds of business logic? How does this relate to domain models and service layer? (p134)|
|Back||Domain Logic - having to do purely with the problem domain (such as strategies for calculating revenue recognition on a contract)Application Logic - aka "Workflow Logic", like notifying admins, and integrated apps, of revenue recognition calculations.Domain models used to avoid domain logic duplication and managing complexity via design patterns. Not for app logic.Service layer factors each kind of business logic into a separate layer, yielding usual benefits of layering and rendering the pure domain object classes more reusable from app to app.|
|Front||When to use active record pattern vs data mapper? (p161)|
|Back||AR: Use when domain logic isn't too complex, such as CRUD. Simple/limited in that AR objects correspond directly to tables ("isomorphic schema"). (p161)DM: Allows schema and object model to evolve independently, leveraging an object's direct relationships, collections, inheritance, etc. (p170)Note that if the domain model is pretty simple, and the db is under the domain model dev's control, then it's reasonable for the domain objects to access the db directly with AR. This effectively puts the DM behavior into the domain objects themselves.|
After the file is downloaded, double-click on it to open it in the desktop program.
At this time, it is not possible to add shared decks directly to your AnkiWeb account - they need to be added from the desktop then synchronized to AnkiWeb.