개방 폐쇄 원칙은 깔끔한 설계를 위해 적용 가능한 객체지향 설계 원칙 중의 하나
- 클래스나 모듈은 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다.
높은 응집도와 낮은 결합도 (high coherence and low coupling)
[높은 응집도]
- 응집도가 높다는 건 하나의 모듈, 클래스가 하나의 관심사에만 집중되어 있다는 뜻
- 불필요하거나 직접 관련이 없는 외부의 관심과 책임이 얽혀 있지 않다.
- 하나의 공통 관심사는 한 클래스에 모여 있다.
- 높은 응집도는 클래스 레벨 뿐만 아니라 ( 패키지, 컴포넌트, 모듈 ) 에 이르기까지
그 대상의 크기가 달라도 동일한 원리로 적용될 수 있다.
변화가 일어날 때 해당 모듈에서 변하는 부분이 크다는 것
[낮은 결합도]
- 낮은 결합도는 높은 응집도보다 더 민감한 원칙.
- 책임과 관심사가 다른 오브젝트 또는 모듈과는 낮은 결합도, 느슨하게 연결된 형태를 유지하는 것이 바람직하다.
- 느슨한 연결은 관계를 유지하는 데 꼭 필요한 최소한의 방법만 간접적인 형태로 제공하고
나머지는 서로 독립적이고 알 필요도 없게 만들어주는 것.
결합도 : 하나의 오브젝트가 변경이 일어날 때에 관계를 맺고 있는 다른 오브젝트에게 변화를 요구하는 정도
'Spring > 용어정리' 카테고리의 다른 글
의존관계 검색 (DL Dependency Lookup) (0) | 2022.02.18 |
---|---|
의존관계 주입(DI Dependency Injection) (0) | 2022.02.17 |
제어의 역전(IOC, Inversion of Control) (0) | 2022.02.17 |
댓글