Domain-Driven Design
Hay: tư duy, ngôn ngữ, và ranh giới giữa chúng.
Hầu hết engineer gặp Domain-Driven Design như một danh mục pattern. Aggregate, Repository, Bounded Context, Ubiquitous Language. Pattern thì hữu ích, nhưng chúng trả lời một câu hỏi mà người đọc còn chưa đặt. Câu hỏi thật, cái làm cho pattern có ý nghĩa, nằm bên dưới: chuyện gì xảy ra khi những người viết code không có chung một ngôn ngữ về bài toán họ đang giải?
Series này dành cho engineer đã làm sản phẩm thực và đã, sau đủ nhiều postmortem, nhận ra rằng bug khó nhất không phải bug ở chỗ code sai. Đó là bug ở chỗ code đúng theo hai cách cùng lúc, vì hai developer đang viết về hai domain khác nhau bằng cùng một từ. Pattern của DDD đến sau quan sát đó. Quan sát đến trước.
Tập I bắt đầu ở nơi hầu hết tài liệu DDD bỏ qua. Trước Aggregate, trước Bounded Context, trước bất kỳ pattern nào, có một câu hỏi về ngôn ngữ. Mình sẽ tiếp tục viết chừng nào còn học được.
Bản đồ đọc
Đã đọc 0 · Còn lại 0 · Đang soạn 17- ICái tên sai làm hỏng cả hệ thống(bản nháp)28 Th5, 2026·
- IIDomain là gì(bản nháp)29 Th5, 2026·
- IIIUbiquitous Language(bản nháp)30 Th5, 2026·
- IVModel(bản nháp)31 Th5, 2026·
- VBounded Context(bản nháp)1 Th6, 2026·
- VIContext Mapping(bản nháp)2 Th6, 2026·
- VIIAggregate(bản nháp)3 Th6, 2026·
- VIIIEntity, Value Object, và câu hỏi về danh tính(bản nháp)4 Th6, 2026·
- IXDomain Events(bản nháp)5 Th6, 2026·
- XApplication Layer(bản nháp)6 Th6, 2026·
- XIRepository(bản nháp)7 Th6, 2026·
- XIIDDD và microservices(bản nháp)8 Th6, 2026·
- XIIIEvent Sourcing và CQRS(bản nháp)9 Th6, 2026·
- XIVKhi domain thay đổi(bản nháp)10 Th6, 2026·
- XVLegacy codebase(bản nháp)11 Th6, 2026·
- XVILan tỏa(bản nháp)12 Th6, 2026·
- XVIIRanh giới của DDD(bản nháp)13 Th6, 2026·