디자인패턴 간단하게 정리해뒀던 디자인패턴 가장 널리 사용되는 패턴 클래스 하나가 원하는 클래스 객체를 생성해주는 패턴 Automobile 클래스 이름을 바꾸거나 변경이 생기거나 다른 클래스로 대체해도 팩토리 클래스에 있는 create 함수만 바꾸면됨 특정 클래스에 대해 오직 하나의 인스턴스만 존재하며 모든 곳에서 그 인스턴스만 사용해야함 패턴의 특성상 어플리케이션 전체 범위에 영향을 주는 일종의 상태 정보가 생김 -> 테스트 가능성... 디자인패턴디자인패턴 GOF 대표적인 10 가지 Design patterns 코드에서 반복되는 디자인 문제를 해결하기 위해 사용자 지정할 수 있는 패턴을 미리 정해둔 것입니다. 실제로 복사하여 붙여넣을 수 있는 알고리즘과 다르게 디자인 패턴은 프로그램에 복사 할 수 없기 때문에 c++로 주로 개발하던 4명 프로그래머는 계속해서 직면하는 프로그래밍적 반복적인 문제를 해결하기 위해 다른 접근 방식을 갖는것의 생성 패턴, 객체 생성의 구조적 패턴, 서로 관련되어있는 패턴등... 디자인패턴디자인패턴 디자인패턴 _ (14)chain of Responsibility 어떤 사람에게 요구하고, 처리할 수 있으면 처리하고, 처리할 수 없으면 요구를 다른 사람에게 넘긴다. 떠넘기기=자신의 일에 집중하기 class종류 📌Trouble : 발생한 트러블을 나타내는 클래스. 트러블 번호를 가진다 📌Support : 트러블을 해결하는 추상 클래스 📌NoSupport : 트러블을 해결하는 구상 클래스 (항상 '처리하지 않는다') 📌LimitSupport : 트러블을 해... 디자인패턴디자인패턴 상태를 통해 행동을 관리하는, 상태패턴(State Pattern) 이를 상태 패턴으로 구현하게 되면 상태에 따라서 행동이 달라지도록 만들 수 있다. TV가 켜짐 : 볼륨 증가 버튼을 누르면 볼륨이 증가한다. TV가 꺼짐 : 볼륨 증가 버튼을 누르면 아무일도 일어나지 않는다. 블로그 글의 상태에 따라서, 작성중일 때는 다른 사람이 볼 수 없어야 하고, 좋아요, 댓글도 남길 수 없어야한다. 블랙잭 미션에서는 게임의 진행 상태에 따라서 구현해볼 수 있다. 게임 ... 디자인패턴디자인패턴 2022년 4월 4일 - 5 React Design Patterns 불필요한 Prop drilling 없이 표현적이고 선언적인 컴포넌트 형태이다. 컴포넌트 UI를 커스터마이징하기 좋게 만들 수 있다. SubComponent를 어떻게 지정, 배치하는냐에 따라 UI를 flexible하게 조합 할 수 있다. 2. Control Props Pattern 컴포넌트를 더 컨트롤 할 수 있다. 유저가 커스텀 로직을 추가 할 수 있음 main state가 컴포넌트 외부에 ... React디자인패턴React [도서] Node.js 디자인패턴 - Chapter 01 - 3 Reactor 패턴 - Node.js 비동기 아키텍처의 핵심 매커니즘 1.3.2 블로킹 I/O 1.3.3 논 블로킹 I/O 논 블로킹 I/O: 대부분의 최신 운영체제에서 지원하는 리소스를 액세스하는 매커니즘 논 블로킹 I/O에 엑세스하는 패턴 최신 운영체제가 제공하는 효율적인 논 블로킹 리소스 처리를 위한 기본적인 매커니즘 감시된 일련의 리소스들로부터 I/O 이벤트를 수집하여 큐에 넣고 처리... 디자인패턴node.jsnode.js [디자인 패턴] Abstract Factory Creational Pattern - Abstract Factory 기본이 되는 Factory가 재료를 공급하며, 생산된 Product가 정확히 무엇인지 알지 못해도 Product의 인터페이스만 알면 조작할 수 있다. 연관 있는 제품의 집합: {Monitor + Keyboard + Mouse} Samsung{Monitor + Keyboard + Mouse} LG{Monitor + Keyboa... 디자인패턴디자인패턴 TIL90. Adapter Pattern B를 A처럼 변경해서 A로 사용하자. 여행갈 때 전압이 다른 곳에서 기계를 충전하려면 전압을 바꿔주는 어댑터가 필요하다. 프로그래밍에서도 다른 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 경우, 즉, 다른 인터페이스로의 변환이 필요할 때 어댑터가 필요하다.이때 사용할 수 있는 것이 어댑터 패턴이다. text를 입력하면 text를 그대로 프린트를 하는 코드 만약 이 코드에서 텍스트마다 ... TIL디자인패턴TIL GOF - 템플릿 메소드 패턴 템플릿 메소드 패턴 클래스의 구현중 자주 변할 수 있는 부분의 구조만을 제공하고 구체적인 구현의 책임은 서브 클래스로 미루는 패턴 활용성 어떤 한 알고리즘을 이루는 부분 중 변하지 않는 부분을 한번 정의해 놓고 다양해질 수 있는 부분은 서브클래스에서 정의할 수 있도록 남겨두고자 할 때 서브 클래스 사이에서 공통적인 행동을 추출하여 하나의 공통 클래스에 몰아둠으로써 코드 중복을 피하고 싶을때 ... 디자인패턴디자인패턴 [디자인] Decorator 패턴 예를 들어 주꾸미가 들어간 마라탕, 양고기와 수많은 야채가 들어간 마라탕 등 이렇게 주문을 한다고 생각해보자. 마라탕으로 생각하면, '마라 요리' 의 개념으로 생각해볼 수 있다. 마라탕으로 생각하면, '마라탕', '마라샹궈' 등이 될 수 있다. Decorator 는 Component 의 장식물 요소들을 관리할 수 있다. 마라탕으로 생각하면 '부속 재료' 개념으로 볼 수 있다. 데코레이터 객체... 디자인패턴디자인패턴 객체 지향과 디자인 패턴 [인투북스] 객체는 자신만의 프로시저와 데이터를 가지며, 각 객체들은 연결되어 다른 객체가 제공하는 기능을 사용할 수 있다. 위의 '추상 타입과 실제 구현의 연결' 예제 코드에서 createLogCollector() 메서드를 이용해서 알맞은 구현 클래스의 객체를 생성하는 것이 1번 방법을 사용한 것이라 볼 수 있다. 한 객체가 다른 객체를 조립해서 필드로 갖는다는 것은 기능을 사용한다는 의미로, 위에서는... 디자인패턴객체지향객체지향 [디자인패턴]팩토리 패턴 (Factory Pattern) 팩토리 패턴이란? 우리는 객체를 생성할 때 new 키워드를 이용한다. 생성하고자하는 객체는 다양한 경우, 어떠한 방식으로 설계 해야할까? 예를 들어, 피자 클래스에는 하위로 페퍼로니 피자, 고구마 피자가 있다고 하자. 피자 가게 클래스에서 이들 객체를 생성을 아래와 같이 했다고 하자. 만약, 더 많은 종류의 피자가 추가 된다면, 피자 가게 클래스의 if-else 문이 수정되어야 한다. 이는 ... 디자인패턴디자인패턴 [디자인 패턴] Strategy Pattern Behavioral Pattern - Strategy Pattern 📚 의도 동일 계열의 알고리즘군을 정의하고, 각 알고리즘을 캡슐화하며, 이들을 상호교환이 가능하도록 만듭니다. 알고리즘을 사용하는 클라이언트와 상관없이 독립적으로 알고리즘을 다양하게 변경할 수 있게 합니다. (GoF) 사진사는 사진 찍기를 핸드폰으로 찍을 수 있고, 필름 카메라 혹은 폴라로이드 카메라로도 찍을 수 있다. 이처... 디자인패턴디자인패턴 [디자인패턴] 데코레이터 패턴 (Decorator Pattern) 데코레이터 패턴이란 스티커 사진의 뼈대는 기본 사진으로 시작한다. 사진은 다양한 프레임, 스티커등을 이용해서 꾸밀 수 있다. 위와 같은 경우 데코레이터 패턴을 이용하기에 적절하다. 데코레이터 패턴은 기본 틀에 새롭게 추가될 수 잇는 정보들을 따로 분리하면서, 확장하기 용이하도록 융통성을 제공한다. 데코레이터 패턴은 기본 기능에 추가 기능을 구현하는 경우, 각 기능을 클래스로 정의해 조합하여 ... 디자인패턴디자인패턴
간단하게 정리해뒀던 디자인패턴 가장 널리 사용되는 패턴 클래스 하나가 원하는 클래스 객체를 생성해주는 패턴 Automobile 클래스 이름을 바꾸거나 변경이 생기거나 다른 클래스로 대체해도 팩토리 클래스에 있는 create 함수만 바꾸면됨 특정 클래스에 대해 오직 하나의 인스턴스만 존재하며 모든 곳에서 그 인스턴스만 사용해야함 패턴의 특성상 어플리케이션 전체 범위에 영향을 주는 일종의 상태 정보가 생김 -> 테스트 가능성... 디자인패턴디자인패턴 GOF 대표적인 10 가지 Design patterns 코드에서 반복되는 디자인 문제를 해결하기 위해 사용자 지정할 수 있는 패턴을 미리 정해둔 것입니다. 실제로 복사하여 붙여넣을 수 있는 알고리즘과 다르게 디자인 패턴은 프로그램에 복사 할 수 없기 때문에 c++로 주로 개발하던 4명 프로그래머는 계속해서 직면하는 프로그래밍적 반복적인 문제를 해결하기 위해 다른 접근 방식을 갖는것의 생성 패턴, 객체 생성의 구조적 패턴, 서로 관련되어있는 패턴등... 디자인패턴디자인패턴 디자인패턴 _ (14)chain of Responsibility 어떤 사람에게 요구하고, 처리할 수 있으면 처리하고, 처리할 수 없으면 요구를 다른 사람에게 넘긴다. 떠넘기기=자신의 일에 집중하기 class종류 📌Trouble : 발생한 트러블을 나타내는 클래스. 트러블 번호를 가진다 📌Support : 트러블을 해결하는 추상 클래스 📌NoSupport : 트러블을 해결하는 구상 클래스 (항상 '처리하지 않는다') 📌LimitSupport : 트러블을 해... 디자인패턴디자인패턴 상태를 통해 행동을 관리하는, 상태패턴(State Pattern) 이를 상태 패턴으로 구현하게 되면 상태에 따라서 행동이 달라지도록 만들 수 있다. TV가 켜짐 : 볼륨 증가 버튼을 누르면 볼륨이 증가한다. TV가 꺼짐 : 볼륨 증가 버튼을 누르면 아무일도 일어나지 않는다. 블로그 글의 상태에 따라서, 작성중일 때는 다른 사람이 볼 수 없어야 하고, 좋아요, 댓글도 남길 수 없어야한다. 블랙잭 미션에서는 게임의 진행 상태에 따라서 구현해볼 수 있다. 게임 ... 디자인패턴디자인패턴 2022년 4월 4일 - 5 React Design Patterns 불필요한 Prop drilling 없이 표현적이고 선언적인 컴포넌트 형태이다. 컴포넌트 UI를 커스터마이징하기 좋게 만들 수 있다. SubComponent를 어떻게 지정, 배치하는냐에 따라 UI를 flexible하게 조합 할 수 있다. 2. Control Props Pattern 컴포넌트를 더 컨트롤 할 수 있다. 유저가 커스텀 로직을 추가 할 수 있음 main state가 컴포넌트 외부에 ... React디자인패턴React [도서] Node.js 디자인패턴 - Chapter 01 - 3 Reactor 패턴 - Node.js 비동기 아키텍처의 핵심 매커니즘 1.3.2 블로킹 I/O 1.3.3 논 블로킹 I/O 논 블로킹 I/O: 대부분의 최신 운영체제에서 지원하는 리소스를 액세스하는 매커니즘 논 블로킹 I/O에 엑세스하는 패턴 최신 운영체제가 제공하는 효율적인 논 블로킹 리소스 처리를 위한 기본적인 매커니즘 감시된 일련의 리소스들로부터 I/O 이벤트를 수집하여 큐에 넣고 처리... 디자인패턴node.jsnode.js [디자인 패턴] Abstract Factory Creational Pattern - Abstract Factory 기본이 되는 Factory가 재료를 공급하며, 생산된 Product가 정확히 무엇인지 알지 못해도 Product의 인터페이스만 알면 조작할 수 있다. 연관 있는 제품의 집합: {Monitor + Keyboard + Mouse} Samsung{Monitor + Keyboard + Mouse} LG{Monitor + Keyboa... 디자인패턴디자인패턴 TIL90. Adapter Pattern B를 A처럼 변경해서 A로 사용하자. 여행갈 때 전압이 다른 곳에서 기계를 충전하려면 전압을 바꿔주는 어댑터가 필요하다. 프로그래밍에서도 다른 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 경우, 즉, 다른 인터페이스로의 변환이 필요할 때 어댑터가 필요하다.이때 사용할 수 있는 것이 어댑터 패턴이다. text를 입력하면 text를 그대로 프린트를 하는 코드 만약 이 코드에서 텍스트마다 ... TIL디자인패턴TIL GOF - 템플릿 메소드 패턴 템플릿 메소드 패턴 클래스의 구현중 자주 변할 수 있는 부분의 구조만을 제공하고 구체적인 구현의 책임은 서브 클래스로 미루는 패턴 활용성 어떤 한 알고리즘을 이루는 부분 중 변하지 않는 부분을 한번 정의해 놓고 다양해질 수 있는 부분은 서브클래스에서 정의할 수 있도록 남겨두고자 할 때 서브 클래스 사이에서 공통적인 행동을 추출하여 하나의 공통 클래스에 몰아둠으로써 코드 중복을 피하고 싶을때 ... 디자인패턴디자인패턴 [디자인] Decorator 패턴 예를 들어 주꾸미가 들어간 마라탕, 양고기와 수많은 야채가 들어간 마라탕 등 이렇게 주문을 한다고 생각해보자. 마라탕으로 생각하면, '마라 요리' 의 개념으로 생각해볼 수 있다. 마라탕으로 생각하면, '마라탕', '마라샹궈' 등이 될 수 있다. Decorator 는 Component 의 장식물 요소들을 관리할 수 있다. 마라탕으로 생각하면 '부속 재료' 개념으로 볼 수 있다. 데코레이터 객체... 디자인패턴디자인패턴 객체 지향과 디자인 패턴 [인투북스] 객체는 자신만의 프로시저와 데이터를 가지며, 각 객체들은 연결되어 다른 객체가 제공하는 기능을 사용할 수 있다. 위의 '추상 타입과 실제 구현의 연결' 예제 코드에서 createLogCollector() 메서드를 이용해서 알맞은 구현 클래스의 객체를 생성하는 것이 1번 방법을 사용한 것이라 볼 수 있다. 한 객체가 다른 객체를 조립해서 필드로 갖는다는 것은 기능을 사용한다는 의미로, 위에서는... 디자인패턴객체지향객체지향 [디자인패턴]팩토리 패턴 (Factory Pattern) 팩토리 패턴이란? 우리는 객체를 생성할 때 new 키워드를 이용한다. 생성하고자하는 객체는 다양한 경우, 어떠한 방식으로 설계 해야할까? 예를 들어, 피자 클래스에는 하위로 페퍼로니 피자, 고구마 피자가 있다고 하자. 피자 가게 클래스에서 이들 객체를 생성을 아래와 같이 했다고 하자. 만약, 더 많은 종류의 피자가 추가 된다면, 피자 가게 클래스의 if-else 문이 수정되어야 한다. 이는 ... 디자인패턴디자인패턴 [디자인 패턴] Strategy Pattern Behavioral Pattern - Strategy Pattern 📚 의도 동일 계열의 알고리즘군을 정의하고, 각 알고리즘을 캡슐화하며, 이들을 상호교환이 가능하도록 만듭니다. 알고리즘을 사용하는 클라이언트와 상관없이 독립적으로 알고리즘을 다양하게 변경할 수 있게 합니다. (GoF) 사진사는 사진 찍기를 핸드폰으로 찍을 수 있고, 필름 카메라 혹은 폴라로이드 카메라로도 찍을 수 있다. 이처... 디자인패턴디자인패턴 [디자인패턴] 데코레이터 패턴 (Decorator Pattern) 데코레이터 패턴이란 스티커 사진의 뼈대는 기본 사진으로 시작한다. 사진은 다양한 프레임, 스티커등을 이용해서 꾸밀 수 있다. 위와 같은 경우 데코레이터 패턴을 이용하기에 적절하다. 데코레이터 패턴은 기본 틀에 새롭게 추가될 수 잇는 정보들을 따로 분리하면서, 확장하기 용이하도록 융통성을 제공한다. 데코레이터 패턴은 기본 기능에 추가 기능을 구현하는 경우, 각 기능을 클래스로 정의해 조합하여 ... 디자인패턴디자인패턴