Skip to content

Metacognition-Polymath/design-pattern

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

142 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

디자인 패턴 스터디

진행

규칙

  • 모임 전 까지 각자 공부하고 정리한 내용 commit 하기
    • 해당 챕터 폴더에 본인명으로 폴더를 생성 후 그 안에 자유롭게 정리
    • 노션같은 곳에 정리했다면 링크 올리기

목차

  • 0. 들어가며 - 이 책을 읽는 방법
  • 1. 디자인 패턴 소개와 전략 패턴 - 2022.10.10 Tony
  • 2. 옵저버 패턴 - 객체들에게 연락 돌리기 - 2022.10.16 상민
  • 3. 데코레이터 패턴 - 객체 꾸미기 - 2022.10.23 민지
  • 4. 팩토리 패턴 - 객체지향 빵 굽기 - 2022.10.30 정희
  • 5. 싱글턴 패턴 - 하나뿐인 특별한 객체 만들기 - 2022.11.06 Tony
  • 6. 커맨드 패턴 - 호출 캡슐화하기 - 2022.11.13 상민
  • 7. 어댑터 패턴과 퍼사드 패턴 - 적응시키기 - 2022.11.20 민지
  • 8. 템플릿 메소드 패턴 - 알고리즘 캡슐화하기 - 2022.11.27 정현
  • 9. 반복자 패턴과 컴포지트 패턴 - 컬렉션 잘 관리하기 - 2022.12.04 Tony
  • 10. 상태 패턴 - 객체의 상태 바꾸기 - 2022.12.11 상민
  • 11. 프록시 패턴 - 객체 접근 제어하기 - 2022.12.18
  • 12. 복합 패턴 - 패턴을 모아 패턴 만들기 - 2022.12.25 정희
  • 13. 실전 디자인 패턴 - 패턴과 행복하게 살아가기 - 2023.01.08 Tony
  • 14. 기타 패턴 - 다양한 패턴 빠르게 알아보기 - 2023.01.18 Tony

디자인 패턴 범주 알아보기

패턴별 범주로 분류

생성 패턴(Creational Pattern)

  • 객체 인스턴스를 생성하는 패턴
  • 클라이언트와 그 클라이언트가 생성해야 하는 객체 인스턴스 사이의 연결을 끊어주는 패턴
  • 종류
    • 싱글턴, 빌더, 프로토 타입, 추상 팩토리, 팩토리 메소드, ...

행동 패턴(Behavioral Pattern)

  • 클래스와 객체들이 상호작용하는 방법과 역할을 분담하는 방법을 다루는 패턴
  • 종류
    • 템플릿 메소드, 비지터, 중재자, 반복자, 인터프리터, 싱글턴, 메멘토, 역할 변경, 옵저저, 상태, 전략, ...

구조 패턴(Structual Pattern)

  • 클래스와 객체를 더 큰 구조로 만들 수 있게 구성을 사용하는 패턴
  • 종류
    • 데코레이터, 컴포지트, 프록시, 퍼사드, 플라이웨이트, 브리지, 어댑터, ...

클래스를 다루는 패턴인지, 객체를 다루는 패턴인지에 따른 분류

클래스 패턴(Class Pattern)

  • 클래스 사이의 관계가 상속으로 어떻게 정의되는지를 다룹니다
  • 클래스 사이의 관계는 대부분 컴파일할 때 결정됩니다
  • 종류
    • 템플릿 메소드, 팩토리 메소드, 어댑터, 인터프리터, ...

객체 패턴(Object Pattern)

  • 객체 사이의 관계를 다루며, 객체 사이의 관계는 보통 구성으로 정의됩니다
  • 일반적으로 실행 중에 관계가 결정되므로 보다 동적이고 유연합니다
  • 종류
    • 컴포지트, 비지터, 데코레이터, 퍼사드, 커맨드, 반복자, 프록시, 옵저버, 메멘토, 전략, 책임 연쇄 브리지, 중재자, 상태, 플라이웨이트, 프로토타입, 추상 팩토리, 빌더, 싱글턴, ...

About

헤드 퍼스트 디자인 패턴 스터디

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •