Прикладное
программирование
Сложная
предметная
область
Дедукция (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
Создавать
не только цену,
но ценность