DOMAIN DRIVEN DESIGN LÀ GÌ

Trong xây dựng phong cách xây dựng Microservice, có thể các bạn sẽ được nghe các về thuật ngữ Domain Driven Design, một phương pháp xây dựng ứng dụng theo phía business domain name. Pmùi hương pháp này được reviews bởi Eric Evan, viết thành một cuốn nắn sách dày cộp chào bán trên Amazon, mình đã đọc cuốn nắn sách này cả phiên bản tiếng Anh cùng giờ Việt. Tuy nhiên câu từ vào cuốn nắn này xác cmnd là éo phát âm gì, chữ viết như giun trườn, loài kiến chạy, dài cái lê thê, chắc hẳn rằng cỡ như Bill Gate bắt đầu phát âm được.

Bạn đang xem: Domain driven design là gì


Thế rồi một đêm coi xvideo clip, lướt vài vòng webtretho nghe các người mẹ tâm sự chuyện trọng điểm sinh lý, bản thân new bỗng nhiên ngộ ra bí mật vào cuốn nắn sách của Eric Evan, quả là một trong bầu trời kỹ năng và kiến thức, nội dung bài viết này đang biểu lộ lại phương pháp này một biện pháp giản đối chọi, để cỡ nlỗi JAV idol nhỏng Yuina Hatano cũng hiểu được
*

Giả sử một anh dev được giao trách nhiệm cách tân và phát triển một áp dụng bán hàng online. Tkhô cứng niên coder thì đang vận dụng quy mô rất gần gũi MVC hay MVVM
*

*

OK, cool, tuy nhiên mang cấu trúc này cho một BA (Business Analysis) thì anh ta lại thiếu hiểu biết controller, view là mẫu giề. Anh ấy chỉ biết về nghiệp vụ bán hàng, order online, tkhô giòn tân oán thì theo flow abc, xyz. Còn chú coder thì biết mỗi Java, .NET kiến thiết pattern. Kiểu cơ mà 1 anh tàu nói giờ đồng hồ Chinese với một anh US. vì thế đề nghị có 1 phương thức nào đó nhằm anh dev cùng anh BA có thể ngồi được cùng nhau sử dụng 1 ngôn từ bình thường để cả 2 hoàn toàn có thể gọi, và Domain Driven Design Thành lập và hoạt động.
DDD chưa phải là technology gì cả, nó là 1 trong những thiết kế pattern, một phương thức thi công ứng dụng, quan sát trên góc độ architect. Trong đó áp dụng sẽ tiến hành phân thành 4 layer nhỏng ngơi nghỉ dưới
*

User Interface Layer: có tác dụng trọng trách màn trình diễn thông báo trực quan liêu cho user với dịch những user comm& ( ở đây chúng ta cũng có thể đọc là các event xảy ra bên trên giao diện Khi được trigger ( nhấn nút bên trên những UI đầu vào control ) là những sẽ được dịch thành các comm& cách xử lý sinh hoạt những tầng dưới.
Application Layer: Tầng này được thiết kế theo phong cách khá mỏng ( thin ) cùng với không nhiều xúc tích xử lý chỉ để làm nhiệm vụ coordinate các Activity của Application với ko đựng Business Logic, nó không đựng state của các Business Object mà lại chỉ cất state của Application Task Progress. Chúng ta có thể hình dung phần này tương tự cùng với các Controller vào mô hình MVC chỉ làm trọng trách forward những task đến chỗ buộc phải cách xử trí.

Xem thêm: Tổng Quan Đất Nước Gambia Ở Đâu, Các Chuyến Bay Giá Rẻ Đến Gambia


Domain Layer: Đây là trái tyên của ứng dụng ( Business Software ), những state của Business Object phần đông nằm tại đây. Việc lưu trữ ( persistence ) những Business Object và những state của chính nó được chuyển nhượng bàn giao đến tầng Infrastructure ngơi nghỉ dưới.
Trái tim của mô hình này đó là ở chỗ Domain Layer, các nhiệm vụ sẽ được mô tả tại phía trên, và cấu tạo source code cũng được tổ chức theo tên các nhiệm vụ chứ không hề để đẳng cấp view, controller nhỏng truyền thống
Chẳng hạn nhỏng Order App thì tạo thành thư mục hướng nhiệm vụ nlỗi Buyer, Order… do vậy anh BA nhìn vào có thể phát âm tức thì là ứng dụng này có tác dụng gì
*

Infrastructure Layer: Đóng vai trò hỗ trợ thư viện ( supporting libraries )cho các tầng khác. Nó cung ứng hình thức giao tiếp ( communication ) thân những Layer với nhau, cũng tương tự cung cấp những tác dụng khác như lưu trữ ( persistence ) các Business Object của tầng Domain.
Cái tầng Infrastructure Layer dễ dàng làm người phát âm nhầm lẫn sang trọng hạ tầng phần cứng như sever, database server, mà lại thiệt ra chưa phải, bởi chụ tây viết sách phù hợp tỏ ra nguy khốn. Còn vào DDD, layer này rất có thể đọc như tầng common librarhệt như logging, utility cùng phần data persistent layer của tầng Data Access trong quy mô thường thì, Có nghĩa là vẫn chỉ là phần mềm
So sánh DDD với mô hình 3 lớp truyền thống lâu đời hoàn toàn có thể ví nlỗi cái đơn vị ống 3 tầng tất cả cấu thang bộ cùng với công ty 4 tầng bao gồm thêm thang máy
Mô hình 3 lớp truyền thống lâu đời, tầng 3 (Presentation) mong mỏi xuống tầng trệt (Data Tier) buộc phải qua tầng 2 Business Tier
Mô hình DDD thì tầng 4 (UI) ao ước xuống tầng trệt (Persistence) hoàn toàn có thể qua thang sản phẩm công nghệ là (Infrastructure) để xuống luôn luôn cho nkhô giòn, cũng muốn bạn bè dục thì đi tuần từ bỏ từng tầng như truyền thống cuội nguồn.
Mỗi nghành nghề (domain) vào cuộc sống đời thường đều có thuật ngữ không giống nhau. Dramma hàn quốc thì bao gồm thuật ngữ như uppage authority, ung thư. Kiếm hiệp Hoa Ngữ thì tất cả tuyệt chiêu, bí quyết, kiếm pháp. Chính trị thì bao gồm tứ tưởng HCM, lý luận Đặng Tiểu Bình, biện pháp mạng, con đường lối chính sách. DDD cũng có những thuật ngữ riêng biệt nhỏng Entity, Value Object, Aggregate vân vân với mây mây. Cuốn nắn sách của Evic giải thích thì hết sức khó khăn đọc. Tuy nhiên oimlya.com’s blog đã lý giải dần dần đến các bạn hồ hết thuật ngữ này theo cách dễ dàng tuyệt nhất trong những phần sau…

Bài viết thân mật vượt, phát âm dễ hiểu, dễ lưu giữ.Mình đam mê duy nhất phần so sánh "thang bộ", "thang máy", 2 loại hiên nhà chạy dọc ^^