9. 유연한 설계
01. 개방 폐쇄 원칙 소프트웨어 개체(클래스, 모듈, 함수)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다. 여기서 확장과 수정이라는 키워드는 애플리케이션의 '동작'과 '코드'의 관점을 반영한다. 해석해보면 확장에 대해 열려있다 : 애플리케이션의 요구사항이 변경될 때 이 변경에 맞게 새로운 '동작'을 추가해서 애플리케이션의 기능을 확장할 수 있다. 수정에 대해 닫혀있다 : 기존의 '코드'를 수정하지 않고도 애플리케이션의 동작을 추가하거나 변경할 수 있다. 달리 말하면 컴파일 타임 의존성을 수정 하지 않고 런타임 의존성을 변경할 수 있다는 말이다. 추상화가 핵심이다. 개방-폐쇄 원칙의 핵심은 추상화에 의존하는 것이다. 추상화를 하면 핵심적인 부분은 남기고 불필요한 부분은 생략하게 된..
책/오브젝트
2021. 12. 21. 18:24
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday