Ý tưởng "kinh điển" có sức lan tỏa trong phần mềm; các mô hình như Canonical Model , Canonical Schema , Canonical Data Model , v.v., dường như xuất hiện hết lần này đến lần khác trong quá trình phát triển.
Giống như nhiều nhà phát triển, tôi thường theo dõi, một cách khôn ngoan, sự khôn ngoan thông thường mà bạn cần một mô hình kinh điển, nếu không, bạn sẽ phải đối mặt với sự bùng nổ kết hợp của người lập bản đồ và dịch giả. Hoặc ít nhất, tôi đã từng làm điều đó cho đến một vài năm trước đây khi lần đầu tiên tôi đọc bài bình chọn có phần hơi khét tiếng của EF :
Các giả thuyết từng ủng hộ việc theo đuổi các mô hình dữ liệu chính tắc đã không và không thể bao gồm các yếu tố sẽ được phát hiện ra khi ý tưởng được đưa vào thực tế. Chúng tôi đã phát hiện ra, qua nhiều năm thử nghiệm và sai sót, việc sử dụng các mô hình riêng biệt cho từng bối cảnh riêng lẻ trong đó mô hình dữ liệu chính tắc có thể được sử dụng là cách tiếp cận ít phức tạp nhất, là cách tiếp cận ít tốn kém nhất và là phương pháp dẫn đến khả năng duy trì và mở rộng cao hơn về các ứng dụng và thiết bị đầu cuối sử dụng các mô hình theo ngữ cảnh và đó là một cách tiếp cận không khuyến khích entropy phần mềm mà các mô hình chính tắc thực hiện.
Bài tiểu luận trình bày không có bằng chứng dưới bất kỳ hình thức nào để hỗ trợ cho tuyên bố của mình, nhưng đã khiến tôi nghi ngờ phương pháp CDM đủ lâu để thử phương án thay thế, và phần mềm kết quả đã không bùng nổ, theo nghĩa đen hoặc nghĩa bóng. Nhưng điều đó không có nghĩa là rất nhiều sự cô lập; Tôi có thể đã may mắn.
Vì vậy, tôi tự hỏi, đã có nghiên cứu nghiêm túc nào được thực hiện trong các tác động thực tế, lâu dài của việc có một mô hình chính tắc so với các mô hình theo ngữ cảnh trong một hệ thống hoặc kiến trúc phần mềm chưa?
Hoặc, nếu còn quá sớm để hỏi điều đó, thì có nhà phát triển / kiến trúc sư nào viết về trải nghiệm cá nhân khi chuyển từ CDM sang mô hình ngữ cảnh độc lập hay ngược lại, và những tác động thực tế nào đối với những thứ như năng suất, độ phức tạp hoặc độ tin cậy?
Còn về sự khác biệt ở các cấp độ khác nhau, tức là sử dụng cùng một mô hình trên một ứng dụng so với sử dụng nó trên một hệ thống ứng dụng hoặc toàn bộ doanh nghiệp thì sao?
(Chỉ sự thật, xin vui lòng; câu chuyện chiến tranh được chào đón nhưng không có suy đoán.)