반응형
응집도와 결합도
- 결합도(coupling)는 낮추고, 응집도(cohesion)는 높여야한다.
- 결합도
- 모듈(클래스)간의 상호 의존 정도를 나타내는 지표
- 결합도가 낮으면 모듈간의 상호 의존성이 줄어들어서 객체의 재사용 및 유지보수가 유리하다.
- 응집도
- 하나의 모듈 내부에 존재하는 구성 요소들의 기능적 관련성
- 응집도가 높은 모듈은 하나의 책임에 집중하고 독립성이 높아져, 재사용 및 유지보수가 용이하다.
- 결합도
SOLID 원칙
SOLID는 객체지향 4대 특성에 기반함으로써 유사한 모양을 가진다.
- 단일 책임 원칙(SRP : Single Responsibility Principle)
- 하나의 기능에 충실하여야한다.
- 개방 폐쇄 원칙(OCP : Open Closed Principle)
- 자신의 확장에는 열려있어야하며, 주변의 변화에 대해서는 닫혀 있어야한다.
- 상위 클래스 또는 인터페이스를 중간에 둠으로써, 자신의 변화에 대해서는 폐쇄적이지만, 인터페이스는 외부의 변화에 대해서 확장을 개방해 줄 수 있다.
- 리스코프 치환 원칙(LSP : Liskov Substitution Principle)
- 서브 타입은 언제나 자신의 상위 타입으로 교체 할 수 있어야한다.
- 예 : 비행기 - 전투기, 수송기
- 인터페이스 분리 원칙(ISP : Interface Segregation Principle)
- 클라이언트는 자신이 사용하지 않는 메서드에 의존 관게를 맺으면 안된다.
- 프로젝트 요구사항과 설계에 따라서 SRP/ISP를 선택 한다.
- 의존 역전 원칙(DIP : Dependency Inversion Principle)
- 자신보다 변하기 쉬운 것에 의존하지 말아야한다.
반응형
'JAVA' 카테고리의 다른 글
[JAVA] 디자인 패턴 - Proxy (0) | 2022.08.03 |
---|---|
[JAVA] 디자인 패턴 - Singleton, Adapter (0) | 2022.08.02 |
[JAVA] Spring Boot 프로젝트 생성 & DevTools 적용 (0) | 2022.08.02 |
[JAVA] 인텔리제이 To - do List_컨트롤러 구현 (0) | 2022.08.01 |
[JAVA] 인텔리제이 To - do List_레파지터리 & 서비스 구현 (0) | 2022.08.01 |
댓글