| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- JWT
- @Transactional
- @ComponentScan
- 서블릿 컨테이너
- dockerhub
- DLQ
- DI
- 쿠버네티스
- Dead Letter Queue
- Spring Container
- 컨테이너
- 페이징
- MSA
- JPA
- AWS
- Routing Key
- docker
- 지연 로딩
- mybatis
- kafka
- redis
- JPQL
- CORS
- securitycontextholderfilter
- Web
- Spring Data JPA
- JdbcTemplate
- 스프링 부트
- Spring
- docker compose
- Today
- Total
목록Solid (2)
look-forest
'좋은 객체 지향'을 예제를 통해 이해해보자. 역할과 구현을 분리하면 자유롭게 구현 객체를 조립할 수 있다 순수 자바 코드로 구현 [문제 X] SRP(단일 책임 원칙) 수행 사례 주문 서비스와 할인 계산의 책임을 분리. 그저 할인액만 받아온다. → 할인 관련 코드 변경 시 OrderService는 안 바꿔도 된다. [문제] DIP, OCP 위반 사례 DIP 위반: OrderServiceImpl이 인터페이스 뿐만 아니라 구현체에도 의존 → 구현체 변경 시 코드 변경도 수반 OCP 위반: 멤버 저장소, 할인 정책을 바꾸는 순간 코드 변경이 수반된다! 어떻게 문제를 해결할 수 있을까? DIP 위반 -> 추상(인터페이스)에만 의존하게 코드를 변경하면 된다 but.. 실제 실행을 해보면 NPE(null point..
SOLID 원칙 SRP(Single Responsibility Principle): 한 클래스는 하나의 책임만 가져야 OCP(Open/Close Principle): 확장에는 열려있고, 변경에는 닫혀있어야 LSP(Liskov Substitution Principle): 하위 타입의 인스턴스로 대체할 수 있어야 ISP(Interface Segregation Principle): 인터페이스는 최대한 분리해야 DIP(Dependency Inversion Principle): 추상화에 의존해야지, 구체화에 의존하면 안된다 ≫ 확장성 있고, 변경에 파급이 적어야 한다 1. Single Responsibility Principle 한 클래스는 하나의 책임만 가져야 한다 '하나의 책임'이라는 표현은 모호하다 중요한 ..