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