0 0
Contact Author Sign in to rate

Patterns of Enterprise Application Architecture

0.01MB. 0 audio & 0 images. Updated 2020-10-31.
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 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 Which ACID properties are easy, and hard, to support for business transactions? (p76)
Back Atomicity and durability are easy, because both are supported by running the commit phase of the business transactions (eg: when the user hits Save), within a system transaction. The system transaction guarantees that the changes will commit as a unit and will be made permanent.Across multiple transactions the apps responsibility is to ensure that one session doesn't step all over another session's changes, leaving the record set in an invalid state. These failures in Isolation lead to failures in Consistency. So business transactions are closely tied to sessions.
Front What is offline concurrency? How can it be avoided? (p75)
Back Offline concurrency is supporting the ACID properties of business transactions between system transactions. (Usually because the business transaction spans multiple requests) Causes a lot of awkward problems, requiring the business transaction to glue multiple system transactions together.Offline concurrency be avoided with a "long transaction", but is less scalable because it can turn the db into a bottleneck.Only deal with offline concurrency if you really have to - try to make your business transactions fit into a single system transaction by ensuring that they fit within a single request.

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