Contract®의 디자인은 무엇입니까?

Contract®의

Design은 프로그램의 모든 부분에 대해 잘 정의 된 인터페이스 매개 변수 또는 계약에 의존하는 소프트웨어를 개발하는 데 사용되는 방법입니다. Contract®의 Design은 문서화 또는 모델링을 통해 구현되는 개념적 개발 스타일로 볼 수 있지만 실제로 프로그램 내에서 계약을 암시 해야하는 일부 프로그래밍 언어 내에서 기본 또는 타사 메커니즘을 참조하는 데 더 널리 사용됩니다. Contract®의 Design 사용의 목표는 프로그램이 개발되고 결국 더 사소한 오류를 제거하는 훨씬 더 완전한 방식으로 코딩되며, 지원 언어에 의한 계약 시행은 잔류 오류를 쉽게 찾아 캡처 할 수 있다는 것입니다. 기능 및 클래스를 위해 계약을 사용하는 프로그램은 계약의 명확한 정의로 인해 다른 프로그램에서 개별 클래스를 쉽게 재사용 할 수있는보다 모듈 식 설계를 가질 수 있습니다.

기본 FOR Contract® 프로그래밍 철학에 의한 디자인은 실제 비즈니스 계약의 아이디어입니다. 이 모델에서 객체 지향 프로그램의 각 방법과 클래스는 다른 방법이나 객체와 상호 작용하는 계약을 정의합니다. 각 클래스는 또한 클래스 불변이라고하는 계약을 가질 수 있으며 외부 계약이 기능 능력을 손상시키지 않도록 내부적으로 따라야합니다.

설계 및 코딩 중에 가장 중요한 계약의 두 부분은 전제 조건과 사후 조건입니다. Contract® 모델에 의한 디자인 의이 두 부분은 메소드가 호출되기 전에 프로그램의 상태를 정의하고 방법이 실행 된 후 프로그램의 상태를 정의합니다. 계약의 다른 부분은 구현에 따라 다를 수 있지만 다른 모듈에 대한 상호 참조, 동기화 조건 및 실행 순서 요구 사항이 포함될 수 있습니다.

각 클래스 및 방법에 대한 계약을 개발함으로써 프로그램의 다른 부분의 상호 작용을 쉽게 매핑하고 예측할 수 있습니다. 어설 션 또는 기타 메커니즘의 사용을 통한 계약의 시행은 계약 위반이있는 경우 프로그램이 실행을 시도하지 않도록 보장합니다. 해당 주에서 생산 된 출력은 어쨌든 기술적으로 무효화되기 때문입니다. 모국어 기능으로 구현 될 때 Contract®의 Design은 예상치 못한 오류에 대한 기회가 거의없이 최종 제품이 예상대로 작동하도록하는 데 도움이 될 수 있습니다.

Contract® 철학에 의한 설계를 사용하여 제공되는 합병증에는 더 긴 설계 시간과 코딩이 시작되기 전에 시스템의 세분화 된 개발이 포함되며, 이는 때로는 큰 프로젝트에서 어려울 수 있습니다. 보다 실용적으로, 계약을 기본적으로 지원하는 프로그래밍 언어로 사용되는 계약 검증 메커니즘은 프로그램 실행 속도를 늦출 수 있습니다. t에 대한 불량한 이해그는 Contract® 방법론에 의해 설계되어 계약을 사용하여 기본 오류 확인을 수행하는 프로그램으로 이어질 수 있으며, 잠재적으로 출시 후 갑작스런 충돌이 발생하기 쉬운 응용 프로그램으로 이어질 수 있습니다.

.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?