請用任意一種物件導向語言實現計算器控制台程式,要求輸入兩個數和運算符號,得到結果。
operation運算類
public class operation
set}
public double numberb
set}
public virtual double getresult()
}
加減乘除類
using system;
public class operationadd : operation
}public class operationsub : operation
}public class operationmul : operation
}public class operationdiv : operation
else
return result;
}}
簡單運算工廠類
public class operationfactory
return oper;
}}
客戶端**
operation oper;
operation=operationfactory.creatoperate("+");
oper.numbera=1;
oper.numberb=2;
double result = oper.getresult();
充分使用了物件導向封裝、繼承、多型
優點:工廠類是整個模式的關鍵所在。它包含必要的判斷邏輯,能夠根據外界給定的資訊,決定究竟應該建立那個具體類的物件。使用者在使用時可以直接根據工廠類去建立所需的例項,而無需了解這些物件是如何建立以及如何組織的。有利於整個軟體體系結構的優化。
缺點:由於工廠類集中了所有例項的建立邏輯,這就直接導致一旦這個工廠出了問題,所有的客戶端都會受到牽連;而且由於簡單工廠模式的產品是基於乙個共同的抽象類或者介面,這樣一來,一旦產品的種類增加的時候,既有不同的產品介面或者抽象類的時候,工廠類就需要判斷何時建立何種種類的產品,這就和建立何種種類的產品相互混淆在了一起,違背了單一職責,導致系統喪失靈活性和可維護行。而且更重要的是,簡單工廠模式違背了「開發封閉原則」,就是違背了「系統對擴充套件開放,對修改關閉」的原則,因為當我新增加乙個產品的時候必須修改工廠類,相應的工廠類就需要重新編譯一遍。
設計模式 簡單工廠設計模式
也叫靜態工廠模式。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的乙個特殊實現。工廠 creator 角色 簡單工廠模式的核心,它負責實現建立所有例項的內部邏輯。工廠類的建立產品類的方法可以被外界直接呼叫,建立所需的產品物件。抽象產品 product 角色 簡單工廠模式所建立...
簡單工廠設計模式與工廠設計模式
工廠設計模式的目的 降低呼叫者和實現者之間的耦合度。當需求發生變化 增加或改變 時,不改變原有 的結構。1.簡單工廠設計模式 優點 降低了呼叫者和實現者之間的耦合度。當引入乙個新的實現型別時,只需要增加乙個實現類,然後修改工廠類即可。缺點 只適用於層次結構較為簡單的情況。如果可能的實現型別很多,工廠...
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...