-
[Spring] 객체지향 설계 5원칙 SOLIDFramework/Spring 2021. 7. 17. 00:08
응집도와 결합도- 좋은 소프트웨어 설계를 위해서는 결합도는 낮추고 응집도는 높여야한다.
- 결합도
- 모듈간의 상호 의존 정도를 나타내는 지표로써, 결합도가 낮으면 모듈간의 상호 의존성이 줄어들어 재사용 및 유지보수가 유리하다. - 응집도
- 하나의 모듈 내부에 존재하는 구성 요소들의 기능적 관련성으로 응집도가 높은 모듈은 하나의 책임에 집중하고 독립성이 높아져, 재사용 및 유지보수가 용이하다. - SRP(Single Responsibility Principle) 단일 책임 원칙
- 어떠한 클래스를 변경해야 하는 이유는 한가지 뿐이여야한다. - OCP(Open Closed Principle) 개방 폐쇄 원칙
- 자신의 확장에는 열려 있고, 주변의 변화에 대해서는 닫혀 있어야 한다.
- 상위 클래스 또는 인터페이스를 중간에 둠으로써, 자신은 변화에 대해서는 폐쇄적이지만, 인터페이스는 외부의 변화에 대해서 확장을 개방해 줄 수 있다. - LSP(Liskov Substitution Principle) 리스코프 치환 원칙
- 서브 타입은 언제나 자신의 기반 타입으로 교체할 수 있어야 한다. - ISP(Interface Segregation Principle) 인터페이스 분리 원칙
- 클라이언트는 자신이 사용하지 않는 메서드에 의존 관계를 맺으면 안된다.
- 프로젝트 요구 사항과 설계에 따라 SRP/ISP를 선택한다. - DIP(Dependency Inversion Principle) 의존 역전 원칙
- 자신보다 변하기 쉬운 것에 의존하지 말아야 한다.
'Framework > Spring' 카테고리의 다른 글
[Spring/디자인패턴] 어댑터 패턴 (0) 2021.07.18 [Spring/디자인패턴] 싱글톤 패턴 (0) 2021.07.18 [Spring/디자인패턴] 디자인패턴 (0) 2021.07.17 [Spring] 객체지향 4가지 (0) 2021.07.16 [Spring] 객체지향이란? (0) 2021.07.15