Domain Driven Design (DDD)
·
Architecture
BackgroundLegacy ServerMonolithic기술 부채유지보수의 어려움기능의 고착화이러한 어려움들을 도메인을 중심으로 개선해보자.Domain Driven Design?각각의 기능적인 문제에 영역들을 정의하는 도메인과 그 도메인을사용하는 비즈니스 로직을 중심으로 설계를 하는 것을 말한다.도메인의 모델과 로직에 집중Ubiquitous Language, 보편적 언어 사용Software Entity와 Domain간 개념의 일치Why DDD?DDD는 테스트 중심의 TDD 혹은 행위 중심의 BDD와 무슨 차이가 있을까 이미 검증된 플로우가 존재하고, 한 번에 갈아엎는 빅뱅 방식 대신 필요한 기능 등을 조금씩 구별하고 그것에 대해 필터링하여 개선하고 점진적인 향상을 만족시키는 것 그리고 레거시와 신규 ..
Spring Boot 디렉터리 구성 파헤치기
·
Architecture
BackgroundSpring 기반 프로젝트를 3주간 사전 준비하고, 2주 동안 구현 및 배포를 진행했다. 제한된 시간 내에 기능을 완성해야 했기 때문에, 이상적인 코드를 작성하기보다는 빠른 구현에 중점을 두었다. 이에 따라, 속도감 있고 익숙한 MVC 패턴을 선택하여 디렉터리 구조를 구성했다.하지만 기능이 늘어나면서 Service 클래스의 수가 급격히 증가했고, 이를 관리하는 데 어려움을 겪게 되었다. 클래스 간의 연결도 복잡해지면서 기존 구조로는 유지보수와 확장성 측면에서 한계가 있을 것이라고 판단했다. 이러한 문제를 해결하기 위해 다른 디렉터리 구조를 모색하기로 결정했다.Various Architecture적용하기에 앞서 디렉터리 구조들의 종류에 대해서 알아보자. 1. Layered Architec..
throws why
'Architecture' 카테고리의 글 목록