티스토리 뷰
SOLID
- 로버트 C.마틴이 제시하고 마이클 페더스가 정리한, 객체지향 설계 5원칙
- SRP, OCP, LSP, ISP, DIP
단일 책임 원칙( SRP: Single Responsibility Principle)
- 하나의 객체에 하나의 책임만 부여해야 한다.
상세
하나의 객체에 여러 책임이 부여되면, 각 책임이 서로 변경에 영향을 받을 수 있는 의존성을 가지게 될 수 있다. 이 때문에, 하나의 객체는 하나의 책임만 부여하여 결합도를 낮춰야 한다.
개방 폐쇄 원칙 (OCP: Open Closed Principle)
- 확장에는 열려있고, 변경에는 닫혀있어야 한다.
상세
- 확장은 가능하게 하여, 애플리케이션 변화에 대응할 수 있어야 하지만, 그 변화가 지금 애플리케이션 전체에 영향이 가지 않도록 폐쇄되어 있어야 한다.
리스코프 치환 원칙 (LSP: Liskov Substitution Principle )
- 하위타입은 언제나 상위타입으로 표현될 수 있어야한다.
상세
- 하위 클래스 is a kind of 상위 클래스 ( 하위 클래스는 상위 클래스의 한 종류다. )
- 구현 클래스 is able to 인터페이스 - 구현 분류는 인터페이스 할 수 있어야 한다.
- AutoCloseable(자동으로 닫힐 수 있어야 함) , Appendable(덧붙일 수 있어야 함) , Cloneable(복제할 수 있어야 함) , Runnable(실행할 수 있어야 함)
인터페이스 분리 원칙 (ISP: Interface Segregation Principle)
- 클라이언트는 자신이 사용하지 않는 메서드에 의존 관계를 가져서는 안 된다.
상세
- 클라이언트가 자신이 사용하지 않는 메서드에 의존 관계를 가지지 않는다는 것은 구현체에 접근할 수 있는 인터페이스를 만들고, 이 인터페이스가 제공하는 메서드를 통해서만 구현체에 접근할 수 있게하여 클라이언트가 필요로하는 인터페이스만 의존 관계를 가지게 한다.
의존성 역전 원칙 (DIP : Dependency Inversion Principle)
- 추상화 정도가 높은 모듈이 추상화 정도가 낮은 모듈에 의존해서는 안된다.
상세
- 구현체에 의존하지 말고 인터페이스에 의존하자.
'Infrastructure' 카테고리의 다른 글
세션 불일치 문제와 해결방법 (0) | 2022.07.25 |
---|---|
쿠키(Cookie)와 세션(Session) (0) | 2022.07.24 |
메모리 풀 (Memory Pool) (0) | 2022.07.22 |
오브젝트 풀 (Object Pool) (1) | 2022.07.20 |
메모리 단편화(Memory Fragmentation) (0) | 2022.07.20 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Object Pool
- 외부 단편화
- pool
- Sticky Session
- Memory Fragmentation
- ATDD
- 뾰족함
- 동적 타입 언어
- 내부 단편화
- Clean Architecture
- 수평 분할
- pass by reference
- multimap
- java
- 동적 디스패치
- RestAssured
- 메모리 파편화
- 수직 분할
- SpringBoot 2.2
- 컴포짓 패턴
- 정적 타입 언어
- Session
- 육각형 아키텍처
- 세션 불일치
- 객체 풀
- OOP
- 클린 아키텍처
- pass by value
- 장애 해결기
- 메모리 단편화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함