본문 바로가기
반응형

전체 글1223

[디자인 패턴] 메멘토 패턴 (Memento Pattern) 🎈 메멘토 패턴 (Memento Pattern) • 객체 상태를 저장/복원하는 디자인 패턴 • 스냅샷과 같은 기능으로 "실행 취소" 및 "다시 실행" 구현에 유용 • 활용 예시: 텍스트 에디터, 게임 상태, 회원가입 양식, 데이터베이스 백업 등 • 디자인 패턴 중 행위 패턴에 해당된다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제코드] #include #include class Character { private: std::string name; i.. 2023. 11. 10.
[디자인패턴] 퍼사드 패턴 (Facade Pattern) 🎈 퍼사드 패턴 (Facade Pattern) • 복잡한 시스템을 단순화된 인터페이스를 제공하여 사용자가 시스템 일부분을 쉽게 사용할 수 있도록 한다. • 디자인 패턴 중 구조 패턴에 해당된다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com 활용 방안 • 복잡한 시스템 단순화 • 라이브러리 래핑: 외부 라이브러리 or API를 이용하여 사용자 친화적인 인터페이스 제공 • 기능 묶기: 서브 시스템을 논리적으로 묶어서 일관된 인터페이스 제공 [예제 코드] #in.. 2023. 11. 9.
[디자인 패턴] 관찰자(Observer) 패턴 🎈 감시자 패턴 (Observer Pattern) • 어떤 객체 상태가 변경되면 다른 객체(observer)에게 알리는 디자인 패턴 → 의존관계에 있는 모든 객체들이 통지받고 자동으로 갱신 → 1:多 형태로 Broadcast로 활용 • 옵저버(Observer) 패턴은 객체 간 느슨한 결합 제공 • 데이터 흐름을 관찰하여 분산 이벤트 처리에 유용 → GUI 프레임워크, 게임 엔진, 주식 시장 알림, 예외 처리와 로깅, 발행/구독 • 디자인 패턴 중 행위 패턴에 해당된다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상.. 2023. 11. 6.
[디자인패턴] 컴포지트 패턴 (Composite Pattern) 🎈 컴포지트 패턴 (Composite Pattern) • 객체들을 계층 구조로 구성하여 개별 객체와 복합 객체를 다룬다. • 부분-전체 계층을 표현하는 패턴 • 동일한 인터페이스로 일관성을 유지한다. → 전체적인 구조 유지에 유용함 • 그래픽 라이브러리, 문서 구조, 조직 구조와 같은 시스템에서 활용된다. • 디자인 패턴 중 구조 패턴에 해당된다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제 코드] → 컴포지트 패턴 적용 #include #inclu.. 2023. 11. 5.
[디자인패턴] 인터프리터 패턴 (Interpreter Pattern) 🎈 인터프리터 패턴 (Interpreter Pattern) • 주로 문장 해석하는 목적으로 사용되는 패턴 • 정규 표현식, SQL 구문, 컴파일러 구현에 활용됨 • 디자인 패턴 중 행위 패턴에 해당된다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제 코드] #include class Expression { public: virtual int interpret() = 0; }; class Number : public Expression { private.. 2023. 11. 4.
[디자인패턴] 커맨드 패턴 (Command Pattern) 🎈 커맨드 패턴 (Command Pattern) • 명령을 캡슐화하고 실행하기 위해 사용 • GUI 응용 프로그램, 트랜잭션 처리, 큐 관리 등에 활용 가능 • 명령 이력 관리, 역명령 실행(Undo), 동적 선택과 같은 상황에서 유용 • 디자인 패턴 중 행위 패턴에 해당된다 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제 코드] → Command Pattern #include #include class Light { public: void turnOn.. 2023. 11. 3.
[디자인패턴] 어댑터 패턴 (Adapter Pattern) 🎈 어댑터 패턴 (Adapter Pattern) • 호환되지 않는 인터페이스를 가진 두 개의 클래스를 함께 사용할 수 있게 한다. • 상속 보다는 위임하는 형태 권장 상속은 실수로라도 접근할 수 있기에 데이터를 보호하지 못할 수 있다. • 예시) 라이브러리 호환, 데이터 변환, 외부 API 통합, 로그 변환 • 디자인 패턴 중 구조 패턴에 속한다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제 코드] #include // 기존의 온도 변환 클래스 cl.. 2023. 11. 2.
[디자인패턴] 장식자 패턴 (Decorator) 🎈 데코레이터 패턴 (Decorator Pattern) • 객체에 동적으로 기능을 추가하거나 변경할 수 있게 해주는 패턴 • 압축, 암호화, 버퍼링 기능 추가시 활용해볼 수 있다. • 디자인 패턴 중 구조 패턴에 해당된다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제 코드] → 데코레이터 패턴 적용 X #include class Coffee { public: void brew() { std::cout 2023. 11. 1.
[디자인패턴] 프로토타입 (Prototype Pattern) 🎈 프로토타입 패턴 (Prototype Pattern) • 객체 생성을 위해 다른 객체 복제 → 새로운 객체 생성보다 기존 객체 복제하는 것이 효율적인 경우 → 공통된 상태값은 유지, 필욯나 값만 변경 • 복잡한 과정으로 생성된 객체를 복사 생성할 때 유용 → 재사용성 증가 • 별도로 원형 관리자를 도입해볼 수 있다. 그렇기에 객체 상태값을 접근/변경할 수 있도록 미리 구현 필요 • 디자인 패턴에서 생성 패턴 중 하나이다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tisto.. 2023. 10. 31.
[디자인 패턴] 브릿지 패턴 (Bridge Pattern) 🎈 브릿지 패턴 (Bridge Pattern) • 새로운 인터페이스를 정의하여 기존 프로그램 변경없이 기능 확장할 수 있다. • 기능을 독립적으로 확장할 수 있다면 상세한 기능을 외부로부터 숨길 수 있는 은닉 효과도 얻을 수 있다. • 디자인 패턴 중에서 구조 패턴에 해당한다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제 코드] #include // 추상 구현 클래스 class Implementor { public: virtual void opera.. 2023. 10. 28.
반응형