Предметное программирование – – программирование



Предметное программирование – – программирование

0 0


stachka-2014-slides

Слайды для стачки

On Github niquola / stachka-2014-slides

Предметное

программирование

by niquola Стачка 2014

Teamlead of health samurai

@ waveaccess/choice-hospital-systems

github/niquola / @niquola

Прикладное

программирование

Сложная

предметная

область

Дедукция (Top-Down)

Индукция (Bottom-Up)

Дедукция (Top-Down)

Model First

Premature modeling is the root of all evil...

Поведение

Устройство

Red-Green-Refactor

Use Case Driven

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

Complexity

Complexity

Модель

Простота

Domain Driven Design

summary

Стратегия (in the large)

Bounded Context

Ubiquitous Language

Contexts Map

Contextus

соединение

Bounded Context

bubble context

Ubiquitous Language

Context 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

Entity

Value Object

Aggregate

Factory

Repository

Services (Use Cases)

Semantic Interoperability

Unified (Information) Model

Standards & Knowledge Bases

Terminologies & Ontologies

Synthetic

Analytic

Gedel

Создавать

не только цену,

но ценность

Q?