0 0
Contact Author Sign in to rate

Patterns of Enterprise Application Architecture

0.01MB. 0 audio & 0 images. Updated 2021-01-13.
The author has shared 1 other item(s).


Patterns of Enterprise Application Architecture, by Martin Fowler. This is by no means exhaustive, but this deck includes my key learnings after reading this book for the first time. A comprehensive list of the patterns can be found here: https://www.martinfowler.com/eaaCatalog/

Sample (from 14 notes)

Cards are customizable! When this deck is imported into the desktop program, cards will appear as the deck author has made them. If you'd like to customize what appears on the front and back of a card, you can do so by clicking the Edit button, and then clicking the Cards button.
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.

Contact Author