객체지향 SOLID 원칙, GOF 디자인패턴
study, share · 2021-7-2
← 리스트로1. SOLID
SRP (단일 책임의 원칙)
OCP (개방 폐쇄 원칙)
- 확장에는 열려있어야 하고 수정에는 닫혀있어야 한다.
LSP (리스코프 치환 원칙)
- 파생 클래스의 인스턴스는, 상위 타입의 인스턴스 객체로 문제없이 치환할수 있어야 한다.
ISP (인터페이스 분리 원칙)
- 범용 인터페이스 보다는 목적을 가진 여러개의 인터페이스가 좋다.
DIP (의존성 역전의 원칙)
- 추상화에 의존해야지 구체화에 의존해서는 안된다.
2. GOF 디자인패턴
옵저버 패턴
- 특정 객체를 의존하는 구독 객체들이 특정 객체의 변경을 옵저빙 하다가 변경이 생기면 함께 갱신되는 형태의 패턴.
커멘드 패턴
- 객체의 특정 이벤트의 기능을 직접 구현하는 대신 캡슐화된 커맨드 객체를 주입받아 활용하여, 요청과 수행을 분리
어댑터 패턴
- 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함께 작동하도록 해준다.
프로토타입 패턴
- 객체를 매번 생성하지 않고, 기존 객체를 복사하여 사용
싱글톤 패턴
- 클래스가 최초 한번만 인스턴스를 생성하여 재활용 해야할 경우
컴포지트 패턴
데코레이터 패턴