"정규적인"아이디어는 소프트웨어에 널리 퍼져 있습니다. Canonical Model , Canonical Schema , Canonical Data Model 등과 같은 패턴 은 개발 과정에서 반복해서 나타나는 것 같습니다.
많은 개발자와 마찬가지로, 나는 당신 이 정식 모델 이 필요 하다는 기존의 지혜를 비판적으로 따랐습니다 . 그렇지 않으면 매퍼와 번역가 의 조합 폭발 에 직면하게 됩니다. 또는 적어도 내가 하는 데 사용 내가 먼저 다소-악명 읽을 때 몇 년 전까지 만해도 그렇게 없음 신뢰의 EF 투표를 :
정식 데이터 모델의 추구를지지했던 가설은 일단 아이디어가 실행되면 발견 될 요소를 포함하지 않았으며 포함 할 수도 없었습니다. 우리는 수년간의 시행 착오를 통해 표준 데이터 모델이 사용될 수있는 각각의 개별 상황에 대해 별도의 모델을 사용하는 것이 가장 복잡한 접근법이며, 가장 비용이 적게 드는 방법이며 유지 관리 성과 확장 성을 높이는 방법이라는 것을 발견했습니다. 상황에 맞는 모델을 사용하는 응용 프로그램 및 엔드 포인트의 표준이며, 표준 모델이하는 소프트웨어 엔트로피를 장려하지 않는 접근 방식입니다.
이 글은 주장을 뒷받침 할만한 어떠한 증거도 제시하지 않았지만 대안을 시도하기에 충분히 오랫동안 CDM 접근법에 의문을 제기하게되었으며 결과 소프트웨어는 문자 그대로 또는 비 유적으로 폭발하지 않았다. 그러나 이것이 완전히 고립 된 것은 아닙니다. 나는 운이 좋았을 수도있다.
소프트웨어 시스템이나 아키텍처에서 정식 모델과 상황에 맞는 모델의 실제적이고 장기적인 영향에 대한 진지한 연구가 있었습니까?
또는, 너무 빨리 물어 보지 않으면 개발자 / 건축가가 CDM에서 독립적 인 상황 별 모델로 또는 그 반대로 전환하는 개인적인 경험에 관한 글을 쓰게되거나 생산성, 복잡성 또는 신뢰성과 같은 것들에 대한 실제적인 영향은 무엇입니까?
서로 다른 수준의 차이점, 즉 단일 응용 프로그램에서 동일한 모델을 사용하는 것과 응용 프로그램 시스템 또는 전체 엔터프라이즈에서 사용하는 것과 같은 모델은 무엇입니까?
(사실, 제발, 전쟁 이야기는 환영하지만 추측은 없습니다.)