Applying Domain-Driven Design and Patterns: With Examples in C# and .NET

Index

[A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y]

ParticipatingLogicalFields

partitions

     Domain Model

     reasons for using

Party Archetype

pattern adoption

patterns

     Aggregates 2nd

         advanced database support

         concurrency

         domain-related rules

         Fake

         queries

         save scenarios

         versioning

     Architectural Patterns

         Domain Model pattern

         layers (example)

     Chain of Responsibility

     Collecting Parameter 2nd

     Concrete Table Inheritance

     Data Mapper 2nd 3rd

         choosing approach

         code generation of custom code

         custom manual code

         Metadata mapping

     Decorator 2nd 3rd

     Design Patterns

         Query Objects (example)

         state pattern (example)

         Strategy

     Domain Model Pattern

     Domain Patterns

         Factory (example)

     Factory Method

     Factory pattern 2nd 3rd 4th

         Inversion of Control

         list customers by applying flexible and complex filters

         problem

         solution proposal one

         solution proposal three

         solution proposal two

     Generation Gap 2nd

     GoF

     Identity Map

     infrastructure patterns

         controlling concurrency

         Eager Load

         Embedded Value

         Foreign Key Mapping

         Identity Field

         Identity Map

         Inheritance hierarchies

         Lazy Load

         Metadata Mapping

         NHibernate

         Unit of Work

     Lazy Load pattern

         list orders when looking at specific customers

     MVC pattern 2nd

         benefit of

         combining Views/Controllers

         decoupling the Controller from the View

         Joe's Shoe Shop example

         simplifying view interfaces through adapters

     Notification, rules

     over-designing

     Query Object

     reasons for learning about patterns

     Registry, Inversion of Control

     Remote Facade

     reusability

     Separation Presentation

     Service Locator 2nd 3rd 4th

         Inversion of Control

         versus Dependency Injection

     Specification pattern 2nd

         complex rules

         generics

         queries

     State

     Template Method

     Unit of Work

Patterns of Enterprise Application Architecture 2nd

performance monitoring

performance, databases

Perrone, Claudio

     continuous integration

     unit tests

PersistAll() 2nd

     Fake

persistence

     APIs

         finding problems

         forgetting to check transitions

         incorrect transitions

     reconstituting entities from

         reflection against private fields

         specific constructors

         specific methods

persistence abstraction

     making validation interfaces pluggable

     reactive validation on save

     reusing mapping metadata

Persistence Ignorance (PI) 2nd

     avoiding certain constructs

     constructors

     cost for

         speed

     Domain Model

     implementing specific interfaces

     inheritance from a certain base class

     instantiating via a provided factory

     NHibernate

     providing mandatory specific fields

     Repositories

         cost for single-set Repositories

         Fake

         problems testing

         problems with small scale integration testing

     runtime versus compile time

     special datatypes

persistence infrastructure

     requirements for

     storing data 2nd

         choosing

         file system

         object database

         RAM

         relational database

         resource managers

persistent data, TDD problems

PersistentObjectBase

Pessimistic Offline Lock 2nd

PI (Persistence Ignorance) 2nd

     avoiding certain construccts

     constructors

     cost for

         speed

     Domain Model

     implementing specific interfaces

     inheritance from a certain base class

     instantiating via a provided factory

     NHibernate

     providing mandatory specific fields

     Repositories

         cost for single-set Repositories

         Fake

         problems testing

         problems with small scale integration testing

     runtime versus compile time

     special datatypes

PickAt()

picking objects, unit testing example

PicoContainer.NET, auto-wiring

Pipes 2nd

PL (Presentation Layer)

     Domain Model and

placeholders, BO placeholders

Plain Old CLR Object (POCO)

Plain Old Java Object (POJO)

Platform Specific Model (PSM)

pluggable rules, Business Logic

PM (Presentation Model) 2nd

     managing relationships

     mapping to Domain Model

     wrapping the Domain Model

PM objects

     flattened PM objects

     O/O Mapping

POCMock

POCO (Plain Old CLR Object)

PoEAA (Patterns of Enterprise Application Architecture) 2nd

pointcut, AOP

POJO (Plain Old Java Object)

policy, services (SOA)

POrderBuilder 2nd

Presentation Layer (PL)

     Domain Model and

Presentation Model (PM) 2nd

     managing relationships

     mapping to Domain Model

     wrapping the Domain Model

presentation service

Prevayler

preventing growing problems

     Form Template Method

     Inline Singleton

pricers

principles for rules

     configurability

     location within state

     prevent you from getting into bad states

     productivity

     states

     testability

     two-way rules checking

private fields, reflection

problems

     avoiding with domain-related rules

     testing Repositories, PI

     with Domain Model, problems/features

         checking with credit institutes

         concurrency conflict detection

         customers may not owe more than a certain amount of

         list customers by applying flexible and complex filters

         list orders when looking at specific customers

         order may not have a total of more than one million

         orders and customers should have unique numbers

         orders must have customers, orderlines must have

         orders orders have acceptance status

         orders with many different lines

         saving orders

processes

     waterfall process

     XP 2nd

process objects

productivity, principles for rules

ProjectWrapper

properties, public properties

providing consumers with metadata

Proxy

PSM (Platform Specific Model)

public fields

public properties

Категории