Programming & CS중급
소프트웨어 설계 & 객체지향 아키텍처
스파게티 코드를 벗어나 유지보수성과 확장성이 뛰어난 엔터프라이즈 코드를 설계하는 방법을 배웁니다. GoF 디자인 패턴 23종 분석과 계층형 아키텍처 구축 실습을 진행합니다.
학습 진도율
0 / 12주차0% 완주
1주차약 8시간 소요초급자료 2건
좋은 코드의 기준과 기술 부채(Technical Debt)
응집도(Cohesion)와 결합도(Coupling), 가독성, 변경 용이성, 코드 냄새(Code Smells) 식별
2주차약 8시간 소요초급자료 2건
객체지향 4대 특성(추상화, 캡슐화, 상속, 다형성) 재해석
단순한 문법을 넘어 도메인 모델링 관점에서 캡슐화와 다형성을 실무에 적용하는 원리
3주차약 8시간 소요초급자료 2건
SOLID 객체지향 설계 원칙 (1): SRP & OCP
단일 책임 원칙(SRP)으로 변경의 이유 분리, 개방-폐쇄 원칙(OCP)과 전략 패턴의 만남
4주차약 8시간 소요초급자료 2건
SOLID 객체지향 설계 원칙 (2): LSP, ISP & DIP
리스코프 치환 원칙, 인터페이스 분리 원칙, 의존역전 원칙(DIP)과 제어의 역전(IoC)
5주차약 8시간 소요중급자료 2건
생성 디자인 패턴: Singleton, Factory, Builder, Prototype
객체 생성 책임을 캡슐화하여 클라이언트와 인스턴스화 과정을 분리하는 실전 설계
6주차약 8시간 소요중급자료 2건
구조 디자인 패턴: Adapter, Decorator, Facade, Composite
서로 다른 인터페이스의 호환, 런타임 책임 확장, 복잡한 하위 시스템 캡슐화
7주차약 8시간 소요중급자료 2건
행위 디자인 패턴: Strategy, Observer, Command, State
객체 간의 알고리즘 교체, 이벤트 발행/구독, 실행 취소 가능한 커맨드 및 상태 전이 모델
8주차약 8시간 소요중급자료 2건
도메인 주도 설계(DDD) 핵심 기초: Entity, VO, Aggregate
값 객체(Value Object)의 불변성, 엔티티의 식별성, 애그리게잇 루트와 트랜잭션 경계
9주차약 8시간 소요고급자료 2건
계층형 아키텍처 vs 헥사고날(포트 & 어댑터) 아키텍처
비즈니스 로직을 프레임워크와 DB로부터 완전히 독립시키는 클린 아키텍처 실무
10주차약 8시간 소요고급자료 2건
테스트 주도 개발(TDD)과 단위 테스트 설계
Red-Green-Refactor 사이클, Given-When-Then 패턴, 테스트 대역(Mock, Stub, Fake) 활용법
11주차약 8시간 소요고급자료 2건
코드 리팩토링 기법 & 마틴 파울러의 코드 개선 패턴
메서드 추출, 클래스 분리, 조건부 로직을 다형성으로 변경, 안전한 리팩토링 절차
12주차약 8시간 소요고급자료 2건
최종 프로젝트: 클린 아키텍처 기반 엔터프라이즈 모듈 구현
도메인, 유즈케이스, 어댑터, 프레임워크 4계층 분리 완성 및 단위/통합 테스트 스위트 구축