Tôi mới bắt đầu làm việc với một dự án và chúng tôi đang sử dụng thiết kế hướng tên miền (theo định nghĩa của Eric Evans trong Thiết kế hướng tên miền: Xử lý sự phức tạp trong trái tim của phần mềm . Tôi tin rằng dự án của chúng tôi chắc chắn là một ứng cử viên cho thiết kế này mô hình như Evans mô tả nó trong cuốn sách của mình.
Tôi đang vật lộn với ý tưởng liên tục tái cấu trúc.
Tôi biết tái cấu trúc là một điều cần thiết trong bất kỳ dự án nào và sẽ xảy ra chắc chắn khi phần mềm thay đổi. Tuy nhiên, theo kinh nghiệm của tôi, tái cấu trúc xảy ra khi nhu cầu của nhóm phát triển thay đổi, không phải là sự hiểu biết về miền thay đổi ("tái cấu trúc để có cái nhìn sâu sắc hơn" như Evans gọi nó). Tôi quan tâm nhất đến những đột phá trong việc hiểu mô hình miền. Tôi hiểu thực hiện các thay đổi nhỏ, nhưng nếu một thay đổi lớn trong mô hình là cần thiết thì sao?
Cách hiệu quả để thuyết phục bản thân (và những người khác) bạn nên tái cấu trúc sau khi bạn có được một mô hình miền rõ ràng hơn? Xét cho cùng, việc tái cấu trúc để cải thiện tổ chức hoặc hiệu suất mã có thể tách biệt hoàn toàn với cách biểu cảm theo mã ngôn ngữ phổ biến. Đôi khi dường như không có đủ thời gian để cấu trúc lại.
May mắn thay, SCRUM cho vay tự tái cấu trúc. Bản chất lặp của SCRUM giúp dễ dàng xây dựng một mảnh nhỏ và thay đổi và nó. Nhưng theo thời gian, mảnh đó sẽ lớn hơn và nếu bạn có một bước đột phá sau khi mảnh đó quá lớn thì sẽ quá khó để thay đổi?
Có ai từng làm việc trong một dự án sử dụng thiết kế hướng tên miền? Nếu vậy, sẽ thật tuyệt khi có được cái nhìn sâu sắc về cái này. Tôi đặc biệt muốn nghe một số câu chuyện thành công, vì DDD dường như rất khó để có được đúng.
Cảm ơn!