피드로 돌아가기
GeekNewsBackend
원문 읽기
소프트웨어 아키텍처 배우기
유지보수성 극대화를 위한 모듈형 아키텍처 및 도메인 모델 설계 전략
AI 요약
Context
단순한 기능 구현 위주의 설계는 운영 단계에서 누적되는 기능 요청과 리팩터링 비용을 증가시킴. 특히 프레임워크 의존성이 높은 강한 결합 구조는 미래의 변경 요구사항에 유연하게 대응하지 못하는 한계를 지님.
Technical Solution
- 유지보수성 최우선 원칙에 따라 변경 비용을 최소화하는 모듈형 구조 설계
- 데이터 변환 계층과 사용 계층을 분리하여 결합도를 낮춘 구조 채택
- 도메인 전문가와의 협업을 통한 명확한 명명 규칙 수립으로 모델의 정합성 확보
- 강한 의견을 가진 프레임워크 대신 교체 가능한 모듈형 프레임워크를 통한 유연성 확보
- 상태 변환 방식을 명시적으로 정의하여 복잡한 상태 전이를 제어하는 메커니즘 구축
- 인터페이스를 구현보다 우선 설계하여 잘못된 사용을 방지하는 제약 조건 부여
실천 포인트
1. 인터페이스 설계 시 '올바르게 쓰기 쉽고 잘못 쓰기 어렵게' 구성했는가?
2. 특정 프레임워크의 정통 교리가 도메인 특수성을 해치고 있지는 않은가?
3. 데이터 마이그레이션 계획이 버전 관리 전략에 포함되어 있는가?
4. 추상화가 내부의 복잡성을 단순히 숨기기만 하여 가독성을 해치지 않는가?
5. 변경 시 영향도가 큰 '이름' 결정에 도메인 전문가의 검토 과정을 거쳤는가?