피드로 돌아가기
Dev.toBackend
원문 읽기
Business와 Technical 도메인 분리를 통한 아키텍처 드리프트 방지 설계
Clprolf Minimalist
AI 요약
Context
기존 OOP 설계에서 발생하는 비즈니스 로직과 기술적 구현의 혼재로 인한 유지보수 효율 저하 및 무분별한 Inheritance 계층 구조의 복잡성 증가 문제 분석.
Technical Solution
- 클래스 역할을
agent(Business)와worker(Technical)로 명시적 구분하여 도메인 책임 소재를 명확히 정의한 구조 설계 - 동일 도메인 내에서만 Inheritance를 허용하고 이종 도메인 간에는 Composition을 강제하여 계층 구조의 일관성 확보
indef_obj타입을 통한 프로토타이핑 및 리팩토링 단계의 유연성 제공- Interface를
family_interf,trait_interf,compat_interf로 세분화하여 추상화 수준과 다형성 적용 범위를 정밀하게 제어 - 기술적 복잡도를 낮추기 위해 고차원 병렬 처리 및 복잡한 추상화 메커니즘을 제거한 Minimalist 설계 채택
실천 포인트
1. 클래스 정의 시 비즈니스 로직과 기술 인프라 코드의 분리 여부를 검토했는가?
2. 상속 계층 구조가 동일한 개념적 도메인을 유지하며 논리적으로 일관된가?
3. 도메인이 다른 클래스 간의 관계 설정 시 상속 대신 Composition을 적용했는가?
4. 인터페이스 정의 시 이것이 핵심 계층(Family)인지, 공통 기능(Trait)인지 구분하였는가?
태그