DEV/Application Architecture (1) 썸네일형 리스트형 [Architecture] 3-tier 레이어드 아키텍처의 한계를 마주하다 3-tier 아키텍처 시스템에서 데이터베이스가 변경되거나 다른 저장소를 추가해야 한다면? DB와 비즈니스 로직의 강결합으로 인한 문제가 발생한다.추상화 된 인터페이스가 없이 비즈니스 로직에서 직접적으로 MySQL 구현체를 사용한다.DIP 위반 - 고수준 모듈(Service)에서 저수준 모듈(Repository)에 의존한다.OCP 위반 - 확장에 열려있지 않으며, 저수준 모듈에서 수정 시 의존하는 고수준 모듈 역시 수정해야 하므로 수정에 닫혀있지도 않다. MySQL DB에서 MongoDB로 변경비즈니스(서비스) 로직의 구현체를 MongoDB 구현체로 수정해야 한다.새로 MongoDB의 구현체로 만든 Repository에서 MongoDB에 맞는 데이터 처리 로직을 새로 구현해야 한다.public class.. 이전 1 다음