DDD – Domain Driven Design



DDD – Domain Driven Design

0 2


ddd-presentation

Presentation about domain driven design

On Github niquola / ddd-presentation

DDD

Domain Driven Design

Хорошее приложение?

характеристики?

Полезное Понятное Удобное

Ментальная Модель

Ментальная Модель и Модель Реализации

Семантический Разрыв ☹

Совместимость

Симбиоз

Модель

Правильная Модель

Ubiquitous language

  • Code
  • Communication
  • Documentation
  • Marketing

knowledge crunching

Basis for Ubiquitous Language

  • Sandarads
  • Ontologies & Models
  • Books

Bouded Context

applicability of a model

EXPLICITE CONTEXT MAP

If code messy, look for better model

Implicit => Explicit

  • Entity (Reference Object): Objects that have a distinct identity that runs through time and different representations.
  • Value Object: Objects that matter only has the combination of their attributes. Two value objects with the same values for all their attributes are considered equal.
  • Service: A standalone operation within the context of your domain. A Service Object collects one or more services into an object. Typically you will have only one instance of each service object type within your execution context.

Aggregate

accessed by a root entity

guarantees the consistency => interact with as a unit

NoSql

{
  login: "",
  email:"",
  preferences: {
   theme: "dark",
   ...
  },
  rating: {
    carma: -10,
    activity: 100,
    ...
  },
  permissions: ["admin","publisher"]
}
	  

DDD and frameworks

RUBY ON RAILS

THEND