반응형

Architecture 3

백엔드 아키텍처

아키텍처 종류 계층형 아키텍처 특징 전통적인 수평적 계층화 장점 단순한 구조 보편적이라 익숙해서 처음 시작할 때 적합하다. 단점 업무 도메인에 대해 아무 것도 말해 주지 않음 소프트웨어가 커지고 복잡해지면 조직화에 도움 안 됨 데이터베이스 주도 설계 유도 클린 아키텍처 특징 의존성 역전을 이용해서 도메인이 중심 장점 단순한 규칙 도메인이 세부 사항에 의존하지 않음 DDD(도메인 주도 설계) 적용이 용이 비즈니스 규칙에 집중하기 쉬움 단점 패키지 구조가 계층형보다 더 복잡함 익숙하지 않아서 처음에 버벅일 수 있음 레퍼런스가 적음 목표 관심사의 분리 핵심 규칙 의존성의 방향은 안쪽, 고수준을 향함 이럴 땐 클린 아키텍처를 쓰지말자... 소규모의 프로젝트 진행 프로젝트 개발자 모두가 클린 아키텍처를 이해하고 ..

Architecture 2023.04.22

멀티 모듈 프로젝트

🟨 멀티 모듈 프로젝트 잘못 구성되면 나중에 변경할 때 힘들다. 🥹 프로젝트 초기에 이루어져야 하는 일련의 설계 과정 개발 생산성에 막대한 영향을 미친다. 무엇을 기준으로 멀티 모듈 프로젝트 구조를 나눠야 할까? Bounded Context 경계안에서 의미를 가질 수 있는 그룹을 정의한다. BOOT(Server), INFRA, DATA(Domain), SYSTEM(Cloud) 역할, 책임, 협력 관계가 올바른지 다시 한번 생각한다. 프로젝트가 커지고 있다면 다시 경계를 나누고 그 기준으로 소스 저장소를 분리 INFRA(외부) 라이브러리에는 DATA 관련 구현을 지향(Anticoruption Layer) 서비스 구현은 각자 역할에 맞게 각각 구현될 수 있다.(공통으로 한쪽에 구현 x) 시스템 레벨 구현이 ..

Architecture 2023.03.21
반응형