다양한 디자인 패턴

모르는 나쁜 자신도 이해할 수 있도록, 가능한 한 심플한 말로 설명한 디자인 패턴의 망비록입니다.
디자인 패턴 공부중이기 때문에 눈치챘을 때 추가하고 싶습니다.

전략 패턴

알고리즘이 변경되는 부분을 클래스화하고 교환할 수 있도록 하는 패턴

예를 들어, switch문으로, 거동을 전환할 때, 코드량이 많을 때, 간단하게 할 수 있다.
이미지로서는, 게임으로 말하면 [호출하는 측]은, 어려운·간단 모드 선택 화면, 아르고 A, 아르고 B가 각각, 어려운·간단의 처리.



템플릿 방법 패턴

공통 부분을 꺼내서 템플릿(형)으로 한다. 어쩌면 이전에 투고한 것 같은 생각이 든다.

공통 부분을 추상 클래스로 하고, 다른 부분은 다른 인스턴스를 생성해 거동을 바꾼다.
야키토리로 표현하면, 시미 맛의 모모와 양념의 모모가 있었을 때, 공통의 닭고기[모모]나 굽는 동작을 추상 클래스로 해
마지막 찢어질 때, '소금' 또는 '양념' 또는 양념의 처리를 건너는 것과 같은 구현의 패턴. 
디자인 패턴이라고 하는 대대적인 것이 아니고, 일반적인 오브젝트 지향에서는 반드시 사용되고 있는 것이라고 생각합니다.

싱글톤 패턴

아마 가장 먼저 듣는 유명한 녀석. 객체의 인스턴스화를 하나로 한정하여 복수를 만들 수 없게 한다. 구현 방법은 여러 가지가 있다.
(복수 할 수있는 것처럼 보이더라도 결국에는 같은 곳을 참조하는 것을 포함)


싱글톤 클래스


- 멤버 변수

+ 인스턴스 획득

- 처리


가장 기본적인 구현 방법
//직접 Qiita의 에디터에 쓸 수 있으므로 나중에 확인합니다. . .
public class Singleton {
public:
//staticによってクラス初期化時に唯一のインスタンスが生成
static Singleton& getInstance(){
static Singleton myself;
return myself;
}
    //外部からは生成できないようにprivate
    private:
    Singleton(){} 
}

좋은 웹페이지 즐겨찾기