如果說,數學是思維的體操,那設計模式,就是物件導向程式設計思維的體操。
學習設計模式重要的不是將來會不會用到這些模式,而是通過這些模式讓你找到「封裝變化」、「物件間鬆散耦合」、「針對介面程式設計」的感覺,從而設計出易維護、易擴充套件、易復用、靈活性好的程式。
重要的是理解思想,下面介紹簡單工廠模式。
顧名思義這個模式應該很簡單,由乙個工廠物件決定建立出哪一種產品類的例項。例如實現乙個計算器控制台程式,要求輸入連個數和運算符號,得到結果,運用簡單工廠模式:
運算類:
/// /// 運算類
///
public class operation
set
}public double numberb
set
}public virtual double getresult()
}
加法類:減乘除類與之類似
class operationadd:operation
}
public class operationfactory
return oper;
}}
客戶端**:
static void main(string args)
優點:簡單工廠模式主要用於隔離類物件的使用者和具體型別之間的耦合關係。面對乙個經常變化的具體型別,緊耦合關係會導致軟體的脆弱,通過使用工廠類,外界可以從直接建立具體產品物件的尷尬局面擺脫出來,僅僅需要負責「消費」物件就可以了。而不必管這些物件究竟如何建立及如何組織的,明確了各自的職責和權力,有利於整個軟體體系結構的優化。
缺點:由於工廠類集中了所有例項的建立邏輯,違反了高內聚責任分配原則,將全部建立邏輯集中到了乙個工廠類中;它所能建立的類只能是事先考慮到的,如果需要新增新的類,則就需要改變工廠類了。
簡單工廠模式——推開設計模式的大門!
C 設計模式之簡單工廠模式
專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。它又稱為靜態工廠方法模式,屬於類的建立型模式。簡單工廠模式的uml類圖 簡單工廠模式的實質是由乙個工廠類根據傳入的引數,動態決定應該建立哪乙個產品類 這些產品類繼承自乙個父類或介面 的例項。該模式中包含的角色及其職責 工廠 cr...
c 設計模式之簡單工廠模式
設計模式的作用就是不同作用的 的區分管理,每乙個區塊的 只做好自己的事情。拿人體來舉例,大腦是所用活動的控制中樞。分別控制軀體,消化系統,免疫系統,神經系統等。那麼首先就需要將各個系統分割開來,在需要運動的時候通知軀體運動,需要消化的時候通知消化系統去消化 等等。再往細分,大腦給軀體發出乙個喝水的命...
c 設計模式之簡單工廠模式
簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端 使用工廠類 的選擇條件動態例項化相關的類,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了與具體產品的依賴。對於動態例項化,我們可以借助智慧型指標來完成對物件的管理。如下 include include using n...