設計模式(2)

2021-08-15 02:59:50 字數 1402 閱讀 8145

觀察者模式:

observer模式是行為模式之一,它的作用是當乙個物件的狀態發生變化時,能夠自動通知其他關聯物件,自動重新整理物件狀態。

observer模式提供給關聯物件一種同步通訊的手段,使某個物件與依賴它的其他物件之間保持狀態同

using namespace std;

class assist;

// 抽象觀察者

class observer

;// 老闆助手

class assist

void remove(observer *o)

void notify(string info)

}

private:

list

#include 

#include

#include

#include

using

namespace

std;

// 定義同一的操作

class ifile

;// 普通檔案

class file :public ifile

string getname()

void showname()

void add(ifile *file)

void remove(ifile *file)

list

* getchildlist()

ifile * clone()

};// 目錄

class dir:public ifile

string getname()

~dir()

delete m_list;}}

void showname()

void add(ifile *file)

void remove(ifile *file)

list

* getchildlist()

// 複製乙份自己的資料,把新建立的物件返回出去

ifile * clone()

return newdir;

}private:

list

*m_list;

};void init(ifile *root)

void shownode(ifile *node, int gap)

}class mysearch

public:

bool

operator()(ifile *node)

private:

string name;

};void showdir(ifile *root, string name)

int main()

return

0;}

設計模式 2

1.設計模式分類 建立型結構型 行為型範圍 類factory method adapter interpreter template method 物件abstract factory builder protype singleton adapter 物件 bridge composite dec...

設計模式(2)

工廠模式 定義了乙個建立物件的介面,但由子類決定要實現例項化的類是哪乙個,工廠方法讓類把例項化推遲到子類。1 所有的工廠都是用來封裝物件的建立。2 工廠方法使用繼承 把物件的建立委託給子類,子類實現工廠方法來建立物件。3 抽象工廠方法使用物件組合 物件的建立被實現在工廠介面所暴露出來的方法中。4 抽...

設計模式(2)

用原型例項指定建立物件的種類,並且通過這些拷貝這些原型來實現建立新的物件。注意 淺複製和深複製。當我們要完成在某一細節層次一致的乙個過程或一系列步驟,但其個別步驟在更詳盡的層次上實現可能不同時,通常考慮用模板方法模式來處理。當不變的行為和可變的行為在方法子類實現中混合在一起的時候,不變的行為就會在子...