SOLID 원칙
- Single Responsibility Principle
- Open-Closed Principle
- Liskov Substitution Principle; 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행 가능해야함
- Interface Segregation Principle
- Dependency Inversion Principle

디자인 패턴

- 의존성 주입(Dependency Injection): 객체가 의존하는 객체를 생성하지 않고 외부에서 레퍼런스를 받아서 사용; 원칙에 가까움
- 추상 팩토리 패턴: 순수 가상함수를 가진 추상클래스 정의, 이를 오버라이딩
- 팩토리 메서드 패턴: 객체 생성 처리를 서브클래스로 분리하여 캡슐화; 부모 클래스에 객체를 생성하는 가상 함수 정의하고, 자식 클래스에서 오버라이딩
- 어댑터 패턴: 호환되지 않는 두 인터페이스를 변환; Class Adapter vs Object Adapter
- 프록시 패턴: 실제 객체에 대한 접근을 제어하기 위한 대리인을 두는 패턴; 가상 프록시(lazy initialization), 보호 프록시(접근 제어)
- 반복자 패턴: 내부 구현 노출 없이 컨테이너의 모든 요소에 순차 접근 방법 제공; STL 제공
- 옵저버 패턴: 이벤트로 구현; 객체 상태 변화시 구독한 옵저버들 업데이트 메서드 호출
- 데코레이터 패턴: 파이썬 문법 생각; 래핑하고 원본 레퍼런스를 내부 멤버로 가짐
- 책임 사슬 패턴: 요청 보내는 쪽과 받는 쪽의 결합도를 낮춤; 핸들러 추상 클래스가 다음 핸들러에 대한 포인터를 멤버 변수로 가지고, 자신이 처리 불가한 요청을 넘겨서 구현
- 싱글턴 패턴: 내부에 정적 지역 변수 선언하는 방식 + 생성자 private
추상 팩토리 -> 단일 객체 생성에 집중 + 상속으로 구현(부모의 추상 메서드를 자식이 오버라이딩 해서 구현)
추상 팩토리 패턴 -> 연관된 객체 군 생성에 집중 + 객체 합성으로 구현(팩토리 인터페이스 내부에 여러 개의 팩토리 메서드 포함)

'내일배움캠프 > Works' 카테고리의 다른 글
| NBC 챕터 2주 - 26.05.21 ~ 26.05.29 회고록 (0) | 2026.05.29 |
|---|---|
| NBC 챕터 1주차 26.05.11 ~ 26.05.21 사이드 프로젝트 회고록 (0) | 2026.05.21 |
| 언리얼 블루프린트로 WFC 알고리즘 구현 (0) | 2026.04.23 |