
·
DDD: Phần 6 – Những Domain Model Patterns giải quyết business logic phức tạp
Xem lại phần 5: DDD [Part 5]: Transaction Script & Active Record – 2 patterns để giải quyết business logic đơn giản 📜 Lịch sử & nguồn gốc 🔹 Cuốn sách của Evans không chỉ nhấn mạnh khái niệm “Domain Model” mà còn giới thiệu tập hợp các mẫu thiết kế cụ thể (gọi là…

·
DDD: Phần 5 – Transaction Script & Active Record – 2 patterns để giải quyết business logic đơn giản
Xem lại phần 4: DDD [Part 4]: Mô hình hóa tích hợp giữa các Bounded Context trong Domain-Driven Design “Business logic là lý do phần mềm được xây ra.”Giao diện có đẹp, cơ sở dữ liệu có nhanh đến đâu cũng trở nên vô nghĩa nếu phần mềm không giải quyết đúng bài toán kinh…

·
DDD: Phần 4 – Mô hình hóa tích hợp giữa các Bounded Context trong Domain-Driven Design
Xem lại phần 3: DDD [Part 3]: Quản lý Domain Complexity: Khám phá Sức mạnh của Bounded Context trong Thiết kế phần mềm 🧠 Domain có 2 mặt: Problem Space vs Solution Space 🔍 Problem Space là gì? 🛠️ Solution Space là gì? Bounded Context & Mô hình 📌 Bounded Context không chỉ giúp bảo…

·
DDD: Phần 3 – Quản lý Domain Complexity: Khám phá Sức mạnh của Bounded Context trong Thiết kế phần mềm
Xem lại phần 2: https://minhphien.com/ddd-part-2-giao-tiep-va-ngon-ngu-chung-trong-domain-driven-design/ Trong hai phần trước, chúng ta đã hiểu rõ tầm quan trọng của ngôn ngữ chung (ubiquitous language) đối với việc giao tiếp giữa nhóm kỹ thuật và các domain expert trong môi trường phát triển phần mềm. Tuy nhiên, thực tế tại nhiều tổ chức, ngôn ngữ chung thường…

·
DDD: Phần 2 – Giao tiếp và Ngôn ngữ chung trong Domain-Driven Design
Xem lại phần 1: https://minhphien.com/ddd-part-1-phan-tich-mien-nghiep-vu-trong-domain-driven-design/ “Thứ được đưa vào production không phải là tri thức của chuyên gia miền, mà là những gì lập trình viên hiểu (hoặc hiểu sai).”— Alberto Brandolini Khi phát triển phần mềm, chúng ta thường nhảy ngay vào viết code, tạo schema, vẽ luồng xử lý. Nhưng nếu bỏ qua…

·
DDD: Phần 1 – Phân tích miền nghiệp vụ trong Domain-Driven Design
Giới thiệu Trong lĩnh vực phát triển phần mềm, nhiều developer chỉ quan tâm đến việc viết code hoàn chỉnh và tối ưu. Tuy nhiên, Domain-Driven Design (DDD) nhắc nhở rằng để thiết kế hệ thống tốt, trước hết ta cần hiểu vấn đề của doanh nghiệp và môi trường vận hành của nó. Đó…

·
Thành phần có trong quality attributes của một hệ thống
Stimulus Một sự kiên để trigger một phản ứng từ hệ thống. Những ví dụ chung là imcomming request của user, hoặc những sự kiện attacks, dù những trừu tượng hơn diễn ra bên trong team development, ví dụ trạng thái hoàn thành dự án, cũng có thể kích hoặc những action cụ thể liên…
·
Component Coupling: Acyclic Dependencies Principle – Nguyên lý phụ thuộc tuần toàn
The ADP deals with the relationships between components, the tension between developability & logical design. WHAT: ADP thực sự là gì? Nguyên lý: Đồ thị phụ thuộc thành phần không có bất kỳ một đường tròn nào được chấp nhận. Tưởng tượng trong 1 đồ thị, bạn đang đứng ở 1 thành phần bất kỳ,…

·
Cách thiết kế ứng dụng enterprise kết hợp DDD, Hexagonal, Onion, Clean, CQRS
DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together – @hgraca (herbertograca.com) Bài viết này nằm trong loạt The Software Architecture Chronicles, một chuỗi nội dung về Kiến trúc phần mềm. Nội dung có thể dễ hiểu hơn nếu bạn đọc các phần trước trong loạt bài này. Tôi đã từng theo…






