Domain-Driven Design

Ноябрь 2015

Содержание

Что является самым ценным в системе?

Eric Evans: Domain-Driven Desing

Необходимые условия

Основные идеи

Layered Architecture

Layered Architecture

Dependency Inversion

public class Copy{
    void copy(File f, Printer p){
        while(!f.eof()){
            p.write(f.read());
    }
}
public class Copy{
    void copy(IReader r, IWriter w){
        while(!r.end()){
            w.write(r.read());
    }
}

Improved Architecture

Elements of DDD

Слой Domain

Ответственность

Типичные классы

Связь с другими слоями

Слой Presentation

Ответственность

Типичные классы

Связь с другими слоями

Слой Infrastructure

Ответственность

Типичные классы

Связь с другими слоями

Слой UI

Ответственность

Типичные классы

Связь с другими слоями

Слой Application

Ответственность

Типичные классы

Связь с другими слоями

Preserving Model Integrity

Anticorruption Layer

Что дает DDD

Customer Tests

Контрольные вопросы

  1. Понятие Domain, Model. Назначение DDD.
  2. Необходимые условия для применения DDD.
  3. Нарисовать диаграмму DDD (“улучшенная” слоистая архитектура).
  4. Назначение сборки Application.
  5. Назначение Infrastructure, способ стыковки с Domain.

Спасибо!

Вопросы?