設計模式整理筆記 一 基礎知識

2021-06-09 11:12:51 字數 1236 閱讀 8566

設計模式的範圍極廣, 我最近也是略來整理與研究了一下, 感覺每一段時間整理一下自己學到的東西, 會發現得到的知識會比以前學的更多更全面, 不然都是散散的在腦袋裡面。下面例子是乙個大型企業的計算工資模式, 因為有很多各地的子公司, 當然計算工資的方法也是不同的。

先定義乙個介面, 確定計算工資的方法, 如下:

using

system;

namespace

public

inte***ce

isalary}

下面各地不同的子公司分別繼承這個介面的commandsalary方法,下面是深圳與北京二個地方的計算方法。設計二個類如下:

using

system;

namespace

public

class

shenzhensalary : isalary}}

北京子公司

using

system;

namespace

public

class

beijinsalary : isalary}}

到裡面基本類已經設計完成, 好多人都會在**中要用到時候new乙個出來,這樣的**可能會造成難以維護, 給人好亂的感覺。 或像下面的**那樣呼叫,**如下:

using

system;

namespace

class

program

//////

通過傳進的公司名返回相應的例項

///

///子公司的名稱

///private

static

isalary createsalary(

string

companyname)

else

if(companyname =="

beijin")

return

salary;}}

}

這樣就可以呼叫計算得到各子公司的工資, 對於小型的公司, 這樣的設計已經是相當的完美了, 但對於乙個大公司, 子公司可能有幾十個更甚至幾百個, 這樣在createsalary中就需要更多的if來判斷了, 這顯然對維護是極為不好的, 那需要怎樣設計呢? 這就是所要討論到的設計模式了,下面接著的文章就會是常用的工廠模式來編寫這個模組。

注:這是乙個新手常用的寫法,這還沒講到工廠模式,這裡只是說這樣寫的類不好,不符合系統的設計模式, 先舉個反例, 後面將會介紹設計模式。有些朋友沒看清楚, 標註一下。

設計模式整理筆記 一 基礎知識

設計模式整理筆記 一 基礎知識 設計模式整理筆記 二 簡單工廠模式 factory 設計模式整理筆記 三 工廠模式 factory 設計模式整理筆記 四 抽象工廠模式 abstract factory 設計模式整理筆記 五 建立者模式 builder 設計模式整理筆記 六 工廠模式與建立者模式總結 ...

基礎知識整理

1.在輸出字元變數的值時,可以選擇以十進位制整數形式輸出,或以字元形式輸出。2.在乙個整數的末尾加大寫字母l或小寫字母l,表示它是長整型。3.代表除法運算子,兩個實數相除的結果是雙精度實數。兩個整數相除的結果是整數,捨去小數部分。但是,如果除數或被除數中有乙個是負值,則捨入的方向是不固定的。多數c編...

c 基礎知識整理(一)

一 標頭檔案 1 define保護 為防止標頭檔案被多重包含,檔案的格式應該為 h 這樣寫是為了保證其唯一性 2 內聯函式 在編譯的時候,編譯器會將它自動展開 所以合理的使用內聯函式會提高效率 內聯函式一般都是短小的,但要除for,while這類的。有些函式即使不加了inline 也不一定會變成內聯...