[BOOK: 오브젝트 9장] 유연한 설계
·
카테고리 없음
개방 - 폐쇄 원칙 소프트웨어 개체(클래스, 모듈, 함수 등등)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다. 해당 내용에서의 키워드는 "확장"과 "수정" 확장에 대해 열려 있다. 애플리케이션의 요구사항이 변경될 때 이 변경에 맞게 새로운 '동작'을 추가해서 애플리케이션의 기능을 확장할 수 있다. 수정에 대해 닫혀 있다 기존의 '코드'를 수정하지 않고도 애플리케이션의 동작을 추가하거나 변경할 수 있다. 컴파일 타임 의존성을 고정시키고 런타임 의존성을 변경하라 사실 개방-폐쇄 원칙은 런타임 의존성과 컴파일 타임 의존성에 관한 이야기이다. 런타임 의존성 실행 시에 협력에 참여하는 객체들 사이의 관계 컴파일 타임 의존성 코드에서 드러나는 클래스들 사이의 관계 이 할인정책은 사실 이미 O..