Xem lại các phần trước ở đây:
Phần 1: Domain Driven Development: Đặt vấn đề
Phần 2: Domain Driven Development: Concept
Phần 3: Domain Driven Design: Thiết kế model và lựa chọn ngôn ngữ
The Building Blocks
Trong kiến trúc multilayered architecture, Evans tập trung chủ yếu vào Domain Layer và đưa ra patterns cho việc thiết kế core model hay còn gọi là các Building Blocks. Các pattern và mối liên hệ giữa chúng được mô tả như đồ hình dưới đây:

Nhìn chung các patterns này khá quen thuộc, mình không chắc là nó xuất phát từ DDD. Nếu ai đã làm qua các hệ thống enterprise sẽ không hề xa lạ với Entity, Value Object, Service, Repository, Factory…
Layered Architecture
Việc chia và tách 1 system thành nhiều component là điều tất nhiên rồi. Ở khía cạnh logical design, gọi chúng là các conceptual layers. Có 4 layers chính đó là: User Interface (Presentation Layer), Application Layer, Domain Layer, Infrastructure Layer.

Để hiểu rõ hơn các khái niệm về Entity, Value Object, Service, Repository, Factory, các bạn có thể truy cập vào link bên dưới:
http://dddcommunity.org/resources/ddd_terms/
edwardthienhoang.
One thought on “Domain Drive Development (DDD) – First thought – Part 4”