Learning
토픽 206 / 214·비교표

소프트웨어 설계와 아키텍처

아키텍처 vs 설계

항목아키텍처설계
수준High-level(What)Detail(How)
대상시스템 구조/컴포넌트모듈/클래스/인터페이스
변경 비용매우 높음상대적 낮음
산출물아키텍처 문서/뷰클래스/시퀀스 다이어그램

계층형 vs 마이크로서비스 vs 헥사고날 아키텍처

항목계층형(Layered)마이크로서비스헥사고날
분리 방식수평(계층)수직(서비스)포트-어댑터
의존성상위→하위 단방향서비스간 느슨결합외부→내부 방향
배포단일 배포독립 배포단일/독립
복잡도낮음높음(분산)중간

EDA vs 요청-응답 vs 메시지큐

항목EDA(이벤트기반)요청-응답메시지큐
통신이벤트/비동기동기/직접비동기/1:1
결합도느슨강함느슨
확장성높음제한적높음
일관성최종 일관성즉시 일관성최종 일관성

UML vs SysML vs BPMN vs ArchiMate

항목UMLSysMLBPMNArchiMate
대상소프트웨어시스템 공학비즈니스 프로세스엔터프라이즈 아키텍처
다이어그램14종9종(UML 확장)프로세스 모델EA 계층 모델
표준OMGOMGOMGThe Open Group
강점범용/상세HW+SW 통합업무 흐름전략~기술 연결

클래스 다이어그램(정적) vs 시퀀스 다이어그램(동적)

항목클래스 다이어그램시퀀스 다이어그램
유형정적 구조동적 행위
표현클래스/속성/관계객체 간 메시지 순서
시간시간 개념 없음시간 순서 표현
용도설계 구조 정의유스케이스 실현/API 흐름

활동 다이어그램 vs 시퀀스 다이어그램 vs 상태 다이어그램

항목활동 다이어그램시퀀스 다이어그램상태 다이어그램
초점프로세스 흐름/병렬객체 간 메시지/시간순객체 상태 변화
표현활동/분기/합류생명선/메시지상태/전이/이벤트
적합업무 프로세스API/인터페이스프로토콜/FSM

GoF 패턴: 생성 vs 구조 vs 행위

항목생성 패턴(5종)구조 패턴(7종)행위 패턴(11종)
목적객체 생성 캡슐화인터페이스 적응/확장알고리즘/행위 캡슐화
대표Singleton, Factory, BuilderAdapter, Decorator, ProxyStrategy, Observer, Command
문제객체 생성 방식 유연화구조 조합/변환행위 분리/교체

GoF 패턴 vs 아키텍처 패턴 vs 이디엄

항목GoF 디자인 패턴아키텍처 패턴이디엄
수준객체지향/클래스시스템 구조언어 종속/구현
범위23종 정형화MVC, 계층형, MSA언어별 관용 표현
적용설계 단계아키텍처 단계코딩 단계

SOLID vs GRASP vs DRY/KISS/YAGNI

항목SOLIDGRASPDRY/KISS/YAGNI
성격OOP 설계 원칙(5개)책임 할당 원칙일반 프로그래밍 원칙
초점클래스 설계객체 책임 배분코드 단순성/중복 제거
제안자Robert C. MartinCraig Larman다양

MVC vs MVP vs MVVM

항목MVCMVPMVVM
View-Model 관계직접 참조완전 분리데이터 바인딩
테스트 용이성보통높음높음
데이터 흐름양방향Presenter 매개바인딩
복잡도낮음중간높음
적용Spring MVC, RailsAndroid(초기)WPF, Vue.js

DI 주입 방식: 생성자 vs 세터 vs 필드

항목생성자 주입세터 주입필드 주입
불변성보장(final 가능)변경 가능변경 가능
필수/선택필수 의존성선택적 의존성-
테스트용이용이어려움
권장도Spring 권장선택적비권장

응집도 vs 결합도

항목응집도(Cohesion)결합도(Coupling)
정의모듈 내부 관련성모듈 간 의존성
방향높을수록 좋음낮을수록 좋음
최상기능적 응집도자료 결합도
최하우연적 응집도내용 결합도

아키텍처 평가: ATAM vs SAAM vs CBAM vs ARID

항목ATAMSAAMCBAMARID
초점트레이드오프/시나리오수정 용이성비용-편익중간 설계 리뷰
방법유틸리티 트리+시나리오변경 시나리오경제적 가치조기 피드백
포괄성포괄적/다속성간단/단일ATAM 확장경량
산출물민감점/트레이드오프직접/간접 시나리오ROI 분석피드백

Clean vs Hexagonal vs Onion vs Layered 아키텍처

항목CleanHexagonalOnionLayered
구조동심원(4계층)포트-어댑터양파(동심원)수평 계층
핵심 원칙의존성 역전포트/어댑터 분리도메인 중심관심사 분리
유연성높음높음높음보통
복잡도높음중간중간낮음
프레임워크 독립완전 독립독립독립의존적