728x90
반응형
SMALL
1) CBD (Component-Based Development)
- 정의: 재사용 가능한 컴포넌트(명확한 인터페이스, 독립 배포)를 조립해 시스템을 구성.
- 핵심: 표준 인터페이스, 약결합, 재사용/조립(합성 중심).
- 장점: 개발속도↑, 생산성↑, 품질/유지보수↑, 유지보수 비용↓, 변경 격리.
- 적합: 대규모 엔터프라이즈, 플러그인/모듈 구조, 마이크로서비스와 궁합 좋음.
2) 객체지향 방법론 (OOAD)
- 정의: 객체/클래스/상속/다형성을 중심으로 분석·설계(Use Case → 클래스/시퀀스/상태도).
- 핵심: 캡슐화, 응집도↑ 결합도↓.
- 장점: 모델-코드 대응 좋음, 확장성↑.
- 적합: 도메인 모델 명확, 장수(長壽) 제품.
3) 서비스 지향 (SOA)
- 정의: 업무 기능을 서비스로 분리해 재사용/조합(ESB/메시지 버스 기반).
- 핵심: 표준 계약(Contract), 느슨한 결합, 조합성.
- 장점: 이기종 통합, 재사용↑.
- 적합: 대기업/레거시 통합, B2B 연계.
4) 마이크로서비스 아키텍처 (MSA)
- 정의: 단일 기능 단위의 작은 서비스를 독립 배포·확장.
- 핵심: 서비스 경계, API, CI/CD, 관측성.
- 장점: 독립 확장/배포, 팀 자율성.
- 주의/적합: 운영 복잡↑(DevOps 필수) / 대규모·지속交付 제품.
5) 관점지향 (AOP)
- 정의: 로깅/보안/트랜잭션 같은 횡단 관심사를 관점(Aspect) 으로 분리.
- 핵심: Join Point, Advice, Weaving.
- 장점: 핵심 로직과 관심사 분리 → 가독성/유지보수↑.
- 적합: 엔터프라이즈 애플리케이션, 스프링 기반.
728x90
반응형
LIST