- 객체를 생성하기 위한 인터페이스를 정의 하여 어떤 클래스가 인스턴스화 될 것인지는 서브클래스가 결정하도록 하는 것
- Virtual-Constructor 패턴이라고도 함
객체 생성 => Factory Method 패턴
프로토타입 (Prototype) 패턴
행위적 패턴에는 책임, 커맨드, 인터프리터, 반복자, 중재자, 메멘토, 옵서버, 상태, 전략, 템플릿, 방문자가 있다.
{}
- = is composed of
- () optional
- [] selection
LSP (Liskov Subsitution Principle / 리스코프 치환 원칙): 자식은 부모에서 가능한 행위 수행이 가능해야 한다.
- ISP(Interface Segreation Principle / 인터페이스 분리 원칙): 자신이 사용 않는 메소드의 구현은 하지 않는다.
- DIP(Dependency Inversion Principle / 의존관계 역전 원칙): 의존관계는 구체적인 것 보다 인터페이스나 추상 클래스와 관계를 맺어야 함
- SRP(Single Responsibility Principle / 단일 책임 원칙): 컴포넌트는 단 하나의 책임만 가진다.
process / data flow / data store / terminator
- process: 자료 처리 과정
- data flow: 데이터의 이동
- data store: 데이터 저장
- terminator: 시스템과 교신하는 외부 개체
동료 검토: 요구 사항 작성자가 설명하고, 동료(이해관계자)가 들으면서 결함을 발견!