Прикладное
программирование
Сложная
предметная
область
Дедукция (Top-Down)
Индукция (Bottom-Up)
Model First
Premature modeling is the root of all evil...
System Object
iam.tap do |s|
  confirmation_key = nil
  s.listen :sign_up do |ev|
    confirmation_key = ev.confirmation_key
  end
  s.sign_up!(email, password)
  s.confirm!(confirmation_key)
  session_key = s.sign_in!(email, password)
  s.session_active?(session_key).should be_true
  s.sign_out!(session_key)
end
- Use Case
 
- Prototype
 
- Specification
 
- Implementation
 
- Refactoring to deeper insight
 
Стратегия (in the large)
Bounded Context
Ubiquitous Language
Contexts Map
Organizational Patterns
- Shared Kernel
 
- Customer/Supplier
 
- Conformist
 
- Partner
 
- Open Host
 
- Anticorruption Layer
 
- Big Ball of Mud :)
 
Тактика (in the small)
Aggregate
Entity
Value Object
Services
Factories & Repositories
Semantic Interoperability
Unified (Information) Model
Standards & Knowledge Bases
Terminologies & Ontologies
Создавать
не только цену,
но ценность