응집성이 높은 코드는 외부에 대한 의존성이 줄어들게 되며, 잘 정의된 역할만을 수행하기에 변경에 대한 영향을 외부로 전달하지 않고 내부에서 해결한다. 따라서 확장이나 변경이 쉬워진다는 것이다.
많이 알려진 객체지향 언어의 'SOLID' 원칙도 결국은 의존성을 줄이고 응집성이 높은 코드를 만들어내는데 그 목적이 있다.
SOLID
SRP(Single Responsibility Principle 단일 책임 원칙)
한 클래스는 하나의 책임만 가져야 한다.
OCP(Open Close Principle 개방 폐쇠 원칙)
클래스는 확장에 대해서는 열려 있어야 하며, 수정에 대해서는 닫혀 있어야 한다.
LSP(Liskov Substitution Principle 리스코프 치환 원칙)
자식 클래스는 부모 클래스의 자리를 대체할 수 있어야 한다.
ISP(Interface Segrewgation Principle 인터페이스 분리 원칙)
사용하지 않는 인터페이스는 구현하지 않아야 한다.
DIP(Dependency Inversion Principle 의존관계 역전 원칙)
고차원 모듈은 저차원 모듈에 의존해서는 안되며, 둘 다 추상화에 의존해야 한다.