모든 설계에 역활과 구현을 분리하기 위해

 

OCP DIP 스프링 컨테이너가 필요하다.

모든 것을 인터페이스로 구현하면 jdbc를 사용하다가, jpa를 사용하고

할인 정책도 교환할 수 있게 된다.

 

인터페이스를 도입하면 추상화라는 비용이 발생한다.

기능을 확장할 가능성이 없다면 구체 클래스를 직접 사용하고 향후 리펙터링해서 도입하는 것도 방법이다.

 

---------------------------------------------------------------------------

 

비지니스 요구와 설계

 

요구사항을 보면 할인 정책을 결정하기 어렵다. 그래서 역활과 구현을 나누고 갈아끼우게 설계하면 된다.

 

 

 

 

자바로 코드를 구현하면

의존관계까 인터페이스 뿐만 아니라 구현까지 모두 의존하는 문제점이 있음

-> 주문까지 만들고 문제점과 해결방안을 설명

**주문 도메인 협력, 역할, 책임**

**역할과 구현을 분리**해서 자유롭게 구현 객체를 조립할 수 있게 설계했다. 덕분에 회원 저장소는 물론이고, 할인 정책도 유연하게 변경할 수 있다.

'코딩 > 자바' 카테고리의 다른 글

자료구조 정리  (1) 2023.12.07
김영한 스프링 기본편 섹션3  (0) 2023.11.30
김영한 스프링 기본편 섹션1  (2) 2023.11.28
이것이 자바다 스트림  (0) 2023.11.28
이것이 자바다 람다  (0) 2023.11.26

+ Recent posts