Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- JDBC
- Spring Boot
- AOP
- java
- 자바
- 알고리즘
- Greedy
- springdatajpa
- SpringBoot
- 인프런
- 김영한
- Exception
- Servlet
- Android
- jpa
- 스프링 핵심 기능
- 스프링 핵심 원리
- pointcut
- Proxy
- 백준
- transaction
- JPQL
- kotlin
- 그리디
- 스프링
- Thymeleaf
- QueryDSL
- spring
- db
- http
Archives
- Today
- Total
개발자되기 프로젝트
SOLID 원칙 본문
1. 단일 책임 원칙(Single Responsibility Printciple)
- 하나의 클래스는 하나의 기능만을 구현. 즉 어떤 클래스를 변경하는 이유는 하나이어야 한다.
- 한 클래스에서 여러 기능을 제공하게 되면 유지보수가 어려움.
2. 개방 폐쇄의 원칙(Open-Close Principle)
- 객체 자신의 수정에 대해서는 유연하고, 다른 클래스가 수정될 때는 영향을 받지 않느다.
- 인터페이스나 추상 클래스를 통해 접근 하도록 함.
- 자바 JDBC, I/O Stream
3. 리스코프 치환 원칙(Liskov Subsitution Principle)
- 하위 클래스는 항상 상위 클래스도 교체될 수 있어야 한다.
- 즉, 상위 클래스가 제공하는 여러 기능은 하위 클래스가 모두 사용가능 해야 한다.
- Is-A 관계, "is a king of " 관계
4. 인터페이스 분리 원칙(Interface Segregation Principle)
- 제공하는 기능에 대한 인터페이스에만 종속적이어야 함.
- 만약 하나의 객체가 여러 기능을 제공해야 한다면(단일 책임 원칙에 위배)
- 이 때 클라이언트가 사용할 수 있는 여러 인터페이스로 분리하여 제공하면
- 클라이언트가 사용하지 않는 기능에 대해 종속적이지 않을 수 있음.
- 기능 별로 인터페이스 분리.
5. 의존 역전 원칙(Dependency Inversion Principle)
- 의존 관계는 구체적인 것 보다는 추상적인 것에 의존(인터페이스, 추상클래스에 의존)
- 구체적인 것은 이미 구현이 되어 있고 변하기 쉬운 것.
- 추상적인 것은 인터페이스나 추상 클래스(상위 클래스)
'Java > 디자인 패턴' 카테고리의 다른 글
인스턴스 생성 패턴 - Abstract Factory Pattern (0) | 2021.11.04 |
---|---|
인스턴스 생성 패턴 - Prototype Pattern (0) | 2021.11.04 |
인스턴스 생성 패턴 - Singleton Pattern (0) | 2021.11.04 |
클래스 다이어그램 (0) | 2021.11.04 |
디자인 패턴 (0) | 2021.11.03 |
Comments