2012-02-25 2 views
2

The Pragmatic Programmer 책 "Orthogonality는 DRY 원리와 밀접하게 관련되어 있습니다"에 따르면. 저자가 독자에게 원하는 방식으로 이해하는지 확신 할 수 없습니다. 그래서 나는 위의 질문을한다.Orthogonality는 DRY 원칙에 반비례합니까?

예를 들어 클래스 A와 클래스 B가 있습니다. 두 클래스 모두 비슷한 방법을 사용합니다. DRY 원칙을 사용하여 클래스 C를 만든 다음 클래스 A와 클래스 B에서 클래스 C로 클래스 C를 할당하고 클래스 C를 클래스 A와 클래스 B의 부모 클래스로 지정했습니다.

+0

질문은 개념적입니다. 프로그래머 .SE가 더 적합합니다. – outis

답변

0

먼저 하위 유형 지정은 주로 코드 재사용에 관한 것은 아니지만 부작용입니다. 공통된 코드를 가지고 있기 때문에 세 번째 클래스에서 두 클래스를 가져 오지 않습니다. 모든 컨텍스트에서 상위 클래스의 인스턴스에 대해 하위 클래스의 인스턴스를 가져올 수 있어야합니다 (하위 유형을 상위 유형으로 대체 할 수 있음).

둘째로, Hunt & 토마스의 "직교성"이라는 용어의 사용은 모듈 내의 설계 또는 구현 고려 사항이 아닌 다른 모듈에 초점을 맞 춥니 다. 보다 구체적으로 말하면 모듈 간의 상호 의존성이 부족하다는 것입니다. 하나에 대한 변경이 다른 모듈에 영향을주지 않으면 두 개의 모듈이 직교합니다. 더 일반적으로 "orthogonality"은 다른 의미를 가지고 있습니다 (언어 기능은 특정 상황에서 특정 기능을 허용하지 않거나 다른 유형에서 동일한 작업의 버전을 달리하는 것이 아니라 임의로 조합 할 수 있습니다). "coupling"(모듈 사이의 상호 의존성, H & T의 "직교성"의 역) 및 "cohesion".