Builder Creational Patterns > 복잡한 객체를 단계별로 구성할 수 있는 Creational 디자인 패턴 ➡️ 동일한 Builder 코드로 객체의 다양한 유형과 표현을 생성할 수 있다 1. Problem - 왜 필요할까? 많은 프로퍼티와 중첩된
Prototype Creational Patterns > 클래스 코드에 종속시키지 않고 기존 객체를 복사할 수 있는 생성 패턴 Problem - 왜 필요할까 이미 존재하는 객체의 복사본을 만들고 싶다면? >1. 동일한 클래스의 새 객체를 생성 원본 객체의 모든 필드
Bridge Structural Pattern > 거대한 클래스 또는 밀접한 관련이 있는 클래스들의 집합을 두 개의 계층 구조(추상화-구현)로 나눈 후 독립적으로 개발할 수 있는 구조 디자인 패턴 문제 있을 때 빨간색, 파란색이라는 색상이라는 도입하려고 하면 빨간색
Template Method Behavioral Design Pattern > 상위 클래스에서 골격(알고리즘)을 결정하지만 하위 클래스들이 특정 단계를 오버라이드(재정의)할 수 있도록 하는 디자인 패턴 문제 문서를 분석하는 데이터 마이닝 앱을 만들 때, 사용자들은 앱
Iterator Behavioral Pattern > 기본 표현을 노출하지 않고 컬렉션의 요소를 순회할 수 있는 패턴 문제 Collection은 주로 사용되는 데이터 타입 중 하나입니다. 대부분의 컬렉션은 간단한 list를 저장하지만 일부는 stack, tree, g
Facade Structural Pattern > 라이브러리, 프레임워크 또는 복잡한 클래스 집합에 대한 간소화된 인터페이스를 제공하는 디자인 패턴 문제 정교한 라이브러리나 프레임워크에 속한 광범위한 코드 집합과 함께 작업해야 할 때 모든 객체들을 초기화하고, 종속성
Command Behavioral Pattern > 요청에 대해 요청에 대한 모든 정보를 포함하는 독립된 객체로 변경하는 패턴 이 변환으로 요청을 메서드 인수로 전달하고 실행을 지연하거나 대기열에 추가하고, 실행을 취소하는 작업을 지원할 수 있습니다. 문제 여러 다
Memento Begavioral Patterns > 구현 세부정보를 공개하지 않고 객체의 이전 상태를 복원할 수 있는 패턴 문제 텍스트 편집기 앱을 상상해봅시다. 텍스트 수정 외에도 서식 지정, 이미지 삽입 등을 수행할 수 있습니다. 그럼 실행 취소는 어떨까요?
Visitor Behavioral Patterns > 알고리즘이 작동하는 개체에서 알고리즘을 분리할 수 있는 패턴 Visitor는 복잡하고 적용 범위가 좁기 때문에 그리 일반적인 패턴은 아닙니다. > - Complexity: ⭐️⭐️⭐️ > - Popularity:
State Behavior Pattern > 개체의 상태가 변경될 때 개체의 동작을 변경할 수 있도록 하는 패턴 문제 State 패턴은 Finite-State Machine과 밀접한 관련이 있습니다. 주요 아이디어는 특정 순간에 프로그램이 가질 수 있는 유한한 상태
Structural Pattern > 각 개체에 모든 데이터를 보관하는 대신 여러 개체 간의 상태의 공통 부분을 공유하여 RAM에 더 많은 개체를 보관할 수 있는 패턴 문제 총 쏘는 게임을 만들어서 친구에게 보내줬는데 친구는 RAM이 부족해서 충돌발생! 총알, 미사