짧은 대답… 모델 주도형은 종종 코드 생성과 관련이 있고 코드는 취약하기 때문입니다. 우리가 필요로하는 것은 코드 제거와 모델 중심입니다.
일부는 황금 망치가 없으며 소프트웨어 개발이 본질적으로 복잡하다는 주장을 일축했다.
나는 그들에게 황금 망치가 없다는 것에 전적으로 동의하지만, 모델 구동이 황금 망치 또는은 총알의 탐구라고 생각하지 않습니다!
더 복잡하게 가고 싶습니다. 두 가지 종류의 복잡성이 있습니다. 하나는 유기적 또는 자연적 복잡성입니다. 비즈니스와 그 프로세스에 내재 된 복잡성이지만 의식적인 복잡성도 있습니다.
매일 매일 지시에 따라 시스템 지시에 들어간 복잡성. 의식적 복잡성-불필요한 복잡성-본질적으로 비즈니스 지향 코드를 사용하여 제어되지 않은 기술 코드를 조작 할 때뿐만 아니라 시스템의 구조와 균일 성이 부족하기 때문에 발생합니다.
오늘날 정보 시스템의 개발을 방해하고 실패와 허리를 유발하는 전체 복잡성은 의식적인 복잡성입니다. 제거 할 수있는 복잡성.
의식상의 복잡성은 낭비, 코드로 인한 낭비, 가치 감소, 불리한 변화, 불변 코드; 엄격한 최소값으로 줄여야하는 코드입니다.
그렇게하는 방법? 처음에는 작성하지 말고 생성하지 마십시오!
불변의 기술 코드가 필요합니다. 읽기 / 쓰기, 표시, 통신에 사용되는 코드… 데이터의 논리적 구조를 설명함으로써 모델이 들어오는 곳-관계형 방식으로 추가-모델은 표준 읽기 / 쓰기, 표시 및 통신의 일반적인 처리를 가능하게합니다. 데이터.
그것은 운영 체제와 마찬가지로, 하나를 사용하는 모든 프로젝트에 대해 다시 작성하지는 않습니다. 따라서 모델에 따라 소프트웨어의 변하지 않는 측면을 처리하는 기술 엔진이 필요합니다. 나는 그것을 AaaS (Architecture as a Service) 엔진이라고 부릅니다.
불필요한 코드는 불필요한 코드이므로 작성하지 않은 채로 둘 수도 있습니다.
따라서 작성해야하는 비즈니스 중심의 코드, 설계해야하는 비즈니스 중심 데이터, 설계 및 상상해야하는 사용자 인터페이스 및 경험이 필요합니다.
취약한 코드를 제거함으로써 코드보다 모델링 및 디자인에 훨씬 더 기반을 둔 소프트웨어 개발을위한 새로운 패러다임을 Architecture as a Service로 채택 할 수 있습니다.