🚦 C++ 디자인 패턴 - Dispatcher Pattern (디스패처 패턴)디스패처 패턴은 요청(Request)을 받아 알맞은 처리기(Handler)로 전달하는 구조입니다. 요청 유형에 따라 처리 로직이 다를 때, 중앙에서 분기하여 처리하도록 구성하는 방식입니다.🧩 구조Dispatcher: 요청을 적절한 핸들러로 분기Handler: 각 요청 유형에 맞는 처리 클래스Request: 요청 정보 (예: 명령 코드, 문자열, enum 등)🧪 예제 코드1. 요청 타입 정의enum class RequestType { LOGIN, LOGOUT, DATA};struct Request { RequestType type; std::string payload;};2. 핸들러 인터페이스 및 ..
📌 C++ 디자인 패턴 - Chain of Responsibility (책임 연쇄 패턴)체인 패턴은 요청을 처리할 수 있는 객체들을 연결된 체인 형태로 구성하여, 요청을 처리할 수 있는 객체가 나타날 때까지 다음 객체로 전달하는 구조입니다. 객체 간 결합도를 낮추고 유연한 구조를 만드는 데 유용합니다.🧩 구조Handler: 요청 처리 인터페이스 정의ConcreteHandler: 실제 요청을 처리하거나 넘기는 구현체Client: 첫 Handler에 요청을 전달🧪 예제 코드1. 추상 핸들러class Handler {protected: Handler* next = nullptr;public: void setNext(Handler* _next) { next = _next; } virtual..
Abstract Factory 패턴은 생성 패턴(Creational Pattern)의 하나로, 서로 관련있거나 의존하는 객체들의 그룹을 생성하기 위한 인터페이스를 제공하면서, 구체적인 클래스를 지정하지 않는 디자인 패턴입니다. 이 패턴의 목적은 클라이언트 코드가 생성할 객체의 구체적인 타입과 분리되도록 하는 것입니다. 이를 통해 클라이언트 코드의 유연성과 재사용성을 높일 수 있습니다. Abstract Factory 패턴의 구성 요소 Abstract Factory: 추상 팩토리는 구체 팩토리가 구현해야 하는 인터페이스를 정의합니다. 이 인터페이스는 다양한 타입의 추상 제품을 생성하는 메소드를 선언합니다. Concrete Factory: 구체 팩토리는 추상 팩토리 인터페이스를 구현하는 클래스로, 특정 제품 ..
디자인 패턴은 반복적으로 발생하는 문제들을 해결하기 위한 일반적인 해법으로, 소프트웨어 설계 시 재사용 가능한 형태로 구성됩니다. 디자인 패턴은 크게 생성(Creational), 구조(Structural), 행동(Behavioral) 패턴의 세 가지 주요 카테고리로 분류됩니다. 각 카테고리에는 여러 패턴이 포함되며, 이들은 소프트웨어 설계에서 특정 상황에 맞는 최적의 방법을 제공합니다. 1. 생성 패턴 (Creational Patterns) 생성 패턴은 객체 생성에 관련된 패턴으로, 객체의 생성 과정을 더 유연하게 만들어줍니다. Singleton (싱글톤): 클래스의 인스턴스가 하나만 생성되고, 전역적으로 접근 가능하도록 하는 패턴입니다. Factory Method (팩토리 메소드): 객체 생성을 서브클..
옵저버 패턴(Observer Pattern) 옵저버 패턴(Observer Pattern)은 행동 디자인 패턴 중 하나로, 객체의 상태 변화를 관찰하고 이러한 변화에 대해 하나 이상의 관찀자에게 자동으로 알림을 보내는 패턴입니다. 이 패턴은 주로 분산 이벤트 처리 시스템, GUI 툴, 리액티브 프로그래밍에서 널리 사용됩니다. C/C++ 언어를 사용하는 리눅스 환경에서도 옵저버 패턴을 구현할 수 있으며, 이는 이벤트 기반의 프로그래밍 모델을 구축할 때 유용합니다. 옵저버 패턴의 주요 구성 요소는 다음과 같습니다: Subject (주제): 관찰 대상 객체로, 여러 관찰자(Observer) 객체를 자신의 리스트에 유지하고, 자신의 상태 변화를 이들 관찰자에게 알립니다. Observer (관찰자): 주제의 상태 ..
브릿지 패턴(Bridge Pattern) 브릿지 패턴(Bridge Pattern)은 구조적인 디자인 패턴 중 하나로, 추상화와 구현을 분리하여 서로 독립적으로 변화할 수 있도록 합니다. 이 패턴은 두 계층 사이의 '다리' 역할을 하여, 클라이언트 코드가 구현 부분에 직접적으로 의존하지 않도록 하며, 확장성과 유연성을 향상시킵니다. 브릿지 패턴은 크게 두 가지 구성 요소로 나뉩니다: 추상화(Abstraction)와 구현(Implementor)입니다. 추상화(Abstraction) 추상화는 고수준의 제어 논리를 정의합니다. 이것은 클라이언트가 사용하는 인터페이스로, 구현 부분에 대한 참조를 포함하여 구현 부분의 메서드를 호출합니다. 구현(Implementor) 구현 인터페이스는 추상화에서 정의된 메서드의 실..
- Total
- Today
- Yesterday
- 성산블루버블
- 패턴
- Thread
- CMake
- 현포다이브
- Linux
- 리눅스
- 암호화
- C# 고급 기술
- C#.NET
- 제주도
- C
- OpenSource
- 서귀포
- PowerShell
- ip
- 블루버블다이빙팀
- 울릉도
- Windows
- 블루버블
- 윈도우
- Build
- C#
- 디자인패턴
- C++
- DLL
- 블루버블다이브팀
- 서귀포블루버블
- ReFS
- 스쿠버다이빙
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |