Tương đương với thiết kế hướng miền cho các ngôn ngữ lập trình chức năng


10

Tôi thực sự thích ý tưởng thiết kế hướng tên miền, tuy nhiên, khi tôi học Go, tôi tự hỏi liệu có tương đương với DDD nhằm vào một ngôn ngữ có chức năng hiệu quả hơn không?

Câu trả lời:


12

Không có tương đương. DDD cần một mô hình để hỗ trợ viết lại thường xuyên trong một kịch bản phát triển phần mềm tiến hóa. OOP trông giống như chiến lược khả thi duy nhất hồi đó. Nhưng các ngôn ngữ chức năng cũng có thể phục vụ một kịch bản như vậy.

Bạn có thể muốn xem video của Greg Young về DDD và Lập trình chức năng và video của Patrik Fredriksson về việc triển khai DDD với ngôn ngữ chức năng như Clojure


3

Tôi tin rằng DDD không phải là về bản thân thiết kế OOP, mà là về cách bạn tiếp cận toàn bộ quá trình phát triển. Phát triển lặp đi lặp lại, ngôn ngữ phổ biến, hợp tác chặt chẽ của các chuyên gia kinh doanh và nhà phát triển là tất cả ngôn ngữ và mô hình bất khả tri.

Thiết kế của các đối tượng trong DDD không phải là một cái gì đó mới. Các mô hình được mô tả trong DDD đã tồn tại từ lâu trước khi DDD nhìn thấy ánh sáng của thế giới. Nguồn gốc liên kết, mô hình chiến lược, đối tượng giá trị chỉ phù hợp để mô tả logic kinh doanh. Vì vậy, câu hỏi của bạn nên giống như "Cách diễn đạt logic kinh doanh và duy trì trạng thái của nó bằng ngôn ngữ chức năng". Bạn có thể đang tìm kiếm các mẫu thiết kế cho các ngôn ngữ lập trình chức năng.


Những gì bạn đã mô tả là phần đầu tiên của DDD, nhưng phần thứ hai là việc xây dựng các mô hình miền thực tế. Phần thứ hai là phần tôi quan tâm. Tôi không chắc chắn chính xác cách tôi mô hình hóa một tên miền bằng ngôn ngữ chức năng (mặc dù tên miền có giao diện).
Matty
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.