반응형

프로그래밍 관련/패턴 3

팩토리 패턴

================================= ================================= ================================= 1. 간단한 팩토리(Simple Factory)- 객체 생성을 처리하는 클래스를 팩토리라고 부른다. 객체를 생성하는 작업을 한 클래스에 캡슐화시켜 놓으면 구현을 변경해야 하는 경우에 여기저기 다 들어가서 고칠 필요 없이 이 팩토리 클래스 하나만 고치면 된다. 2.정적 팩토리(static Factory)- 정적 팩토리란 간단한 팩토리를 정적 메소드로 정의 하는 기법이다. 정적 메소드를 쓰면 객체를 생성하기 위한 메소드를 실행 시키기 위해서 객체의 인스턴스를 만들지 않아도 된다. 하지만 서브클래스를 만들어서 객체 생성 메소돌의 ..

이터레이터 패턴 (Iterator Pattern)

낭만님의 구현 : http://thx4alice.tistory.com/333 이터레이터 패턴은 이미 제네릭 프로그래밍에서 널리 사용되고 있는 패턴입니다. (= 반복자 패턴) 이번에는 직접 구현을 해보았습니다. 100% 똑같이 구현하지는 못했지만, 이터레이터라는게 무엇인지는 확실히 알게될 듯 하네요. 이터레이터 패턴은 컬렉션 구현 방법을 노출시키지 않으면서도 그 집합체 안에 들어있는 모든 항목에 접근할 수 있게 해주는 방법을 제공해줍니다. 1/*2 Common.h3*/4 5#include 6 7#include "Iterator.h"8 9using namespace std; 01/*02 Iterator.h03*/04 05#pragma once06 07template 08class Iterator09{10pu..

상태 패턴

상태 패턴 다이어그램 저도 강좌라는걸 써보네요..;; 디자인 패턴중 상태패턴에 대해 간단하게 설명해 보려고 합니다. 보통 상태패턴( State Pattern )은 'Object의 속성을 다른 객체에 위임한다' 라 되어 있으며, 구현 목적은 '다른 종류의 객체들이 공통 속성을 가지는 경우, 속성의 구현을 포함하는 객체에서 분리시킨다' 라고 되어 있습니다. 따라서 구현을 위해서는 속성을 가진 객체와 실제 속성을 구현하려는 객체가 필요합니다. 좀더 쉽게 말하면, A, B, C 라는 객체가 있는데, Move, Attack, Guard, Stop 등 공통되는 구현이 있다면, 이러한 액션을 취하는 속성들을 따로 분리해서, 구현한다는게 상태패턴의 목적입니다. 그럼, 소스 위주로 설명하겠습니다. #include #in..

반응형