Chapter7 模板方法模式

2022-09-12 01:42:17 字數 1516 閱讀 1737

模板方法模式:定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。

既然用了繼承,並且肯定這個繼承有意義,就應該要成為子類的模板,所有重複的**都應該要上公升到父類去,而不是讓每個子類都去重複。

當我們要完成在某一細節層次一致的乙個過程或一系列步驟,但其個別步驟在更詳細的層次上的實現可能不同時,我們通常考慮用模板方法來處理。模板方法模式是通過把不變行為搬移到基類,去除子類中的重複**來體現它的優勢。模板方法模式就是提供了乙個很好的**復用平台。當不變的和可變的行為在方法的子類實現中混合在一起的時候,不變的行為就會在子類中重複出現。通過模板方法模式把這些行為搬移到單一的地方,這樣就幫助子類擺脫重複的不變行為的糾纏。

實際應用

工程結構

(1)抽象類abstractclass.h

(2)具體類concreteclass.h

(1)抽象類abstractclass.h

#ifndef _abstract_class_h_

#define

_abstract_class_h_

#include

<

iostream

>

using

namespace

std;

class

cabstractclass

};#endif

//_abstract_class_h_

(2)具體類concreteclass.h

#ifndef _concrete_class_h_

#define

_concrete_class_h_

#include

"abstractclass.h

"class

cconcreteclassfirst :

public

cabstractclass

void

primitiveoperationb()

};class

cconcreteclasssecond :

public

cabstractclass

void

primitiveoperationb()

};#endif

//_concrete_class_h_

//

//#include

"stdafx.h

"#include

"concreteclass.h

"int

_tmain(

intargc, _tchar

*ar**)

chapter7 壓縮列表

壓縮列表 ziplist 是列表鍵和雜湊鍵的底層實現之一。當乙個列表鍵只包含少量列表鍵,並且每個列表項要麼就是小整數值,要麼就是長度比較短的字串,那麼redis就會使用壓縮列表來做列表鍵的底層實現。另外,當乙個雜湊鍵只包含少量鍵值對,並且每個鍵值對的鍵和值要麼就是小整數值,要麼就是長度比較短的字串,...

Chapter7 常量和字段

常量 constant 是乙個特殊的符號,它有乙個從不變化的值,定義常量符號時,它的值必須能在編譯時確定,確定之後,編譯器將常量的值儲存到程式集的元資料中。這意味著只能為編譯器認定的基元型別定義常量,也可以是非基元型別,但必須是null。所以 在引用乙個常量符號時,不需要為常量分配任何記憶體,編譯器...

chapter7 管理使用者和性

第7章 管理使用者和安全性 目的 您必須建立使用者帳戶並授予那些帳戶相應的訪問許可權,以使使用者能夠訪問您的資料庫。某些使用者帳戶自動包括在預先配置的資料庫中,但是出於安全性的原因,這些帳戶中的大多數都是被鎖定的或過期的。在本章,您將學到如何建立和 管理使用者帳戶。您將使用enterpriseman...