객체지향 SOLID 원칙, GOF 디자인패턴

study, share · 2021-7-2

← 리스트로

1. SOLID

SRP (단일 책임의 원칙)

  • 한 클래스는 하나의 책임만 가져야 한다.

OCP (개방 폐쇄 원칙)

  • 확장에는 열려있어야 하고 수정에는 닫혀있어야 한다.

LSP (리스코프 치환 원칙)

  • 파생 클래스의 인스턴스는, 상위 타입의 인스턴스 객체로 문제없이 치환할수 있어야 한다.

ISP (인터페이스 분리 원칙)

  • 범용 인터페이스 보다는 목적을 가진 여러개의 인터페이스가 좋다.

DIP (의존성 역전의 원칙)

  • 추상화에 의존해야지 구체화에 의존해서는 안된다.

2. GOF 디자인패턴

옵저버 패턴

  • 특정 객체를 의존하는 구독 객체들이 특정 객체의 변경을 옵저빙 하다가 변경이 생기면 함께 갱신되는 형태의 패턴.

커멘드 패턴

  • 객체의 특정 이벤트의 기능을 직접 구현하는 대신 캡슐화된 커맨드 객체를 주입받아 활용하여, 요청과 수행을 분리

어댑터 패턴

  • 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함께 작동하도록 해준다.

프로토타입 패턴

  • 객체를 매번 생성하지 않고, 기존 객체를 복사하여 사용

싱글톤 패턴

  • 클래스가 최초 한번만 인스턴스를 생성하여 재활용 해야할 경우

컴포지트 패턴

  • 틀과 내용물을 같은 부류로 취급하고 싶을때

데코레이터 패턴

  • 특정 기능에 지속적으로 장식을 추가하는 패턴