實現乙個計算器控制台程式
活字印刷
第一,要改,只需改要改之字,此為可維護
第二,這些字用完依然可用,此為可復用
第三,若要加字只需另刻再加入即可,此為可擴充套件
第四,可橫排可豎排,此為靈活性好
複製vs復用 將計算和顯示分開(即將業務邏輯和介面邏輯分開)
public class operation
return result;
} }
public class caculator
catch(exception e)
}
緊耦合和松耦合
更好的設計:寫乙個operation類,裡面有getresult();
另寫 加減乘除類 繼承operation類
這樣另加開根號運算時,就無需暴露加減乘除給對方看
簡單工廠模式
如何去例項化物件
public class operationfactory[
public static operation createoperate(string operator)
return oper;
}
大話設計模式 第一章簡單工廠模式
物件導向的三大特性 封裝,繼承,多型。1,定義乙個運算基類,所有的運算都繼承自它 所有運算的基類 class operation 2,定義所有的運算類,繼承自運算基類operation view code 下面的類都繼承自operation,過載了getresult class operationa...
設計模式 第一章工廠模式
乙個物件應該只包含單一的職責,並且該職責被完整的封裝到乙個類中 軟體實體應該對擴充套件開放,對修改關閉 所有引用基類的地方必須能透明的使用其子類物件 高層模組不應該依賴底層模組,他們都應該依賴抽象,抽象不應該依賴細節,細節應該依賴於抽象 客戶端不應該依賴他那些不需要的介面 優先使用物件組合,而不是通...
第一章 Cach 設計模式 簡單工廠模式
工廠類運算類 加法類減法類 乘法類除法類 指數類思考 可能會寫成這樣 w class pha.yx.design.program getresult classmethod getresult 缺點 if表示式每次都需要判斷,等於計算機做了三次無用功。如果除法,輸入了0,除法會報錯。輸入第乙個數字 ...