工廠類運算類
加法類減法類
乘法類除法類
指數類思考
可能會寫成這樣:
/// w ##class(pha.yx.design.program).getresult()
classmethod getresult()
缺點:
if表示式每次都需要判斷,等於計算機做了三次無用功。
如果除法,輸入了0,除法會報錯。
輸入第乙個數字:1
輸入操作符:/
輸入第二個數字:1.5
.6666666666666666667
輸入第乙個數字:1
輸入操作符:/
輸入第二個數字:0
.s result = numbera / numberb
^zgetresult+12^pha.yx.design.program.1
可能會寫成這樣:
/// w ##class(pha.yx.design.program).getresultcase()
classmethod getresultcase()
缺點:
如果加減乘除方法非常大,每次修改其中乙個都會編譯其他三個運算方法。
增加錯誤修改,可能日後修改**修改錯。
}輸入第乙個數字:1
輸入操作符:+
輸入第二個數字:1
2輸入第乙個數字:2
輸入操作符:-
輸入第二個數字:3
-1輸入第乙個數字:6
輸入操作符:*
輸入第二個數字:3
18輸入第乙個數字:1
輸入操作符:/
輸入第二個數字:1.5
0.6666666666666666667
輸入第乙個數字:1
輸入操作符:/
輸入第二個數字:0
除數不能為0。
輸入第乙個數字:3
輸入操作符:**
輸入第二個數字:3
27
class pha.yx.design.******factory.operationfactory extends %registeredobject
}
class pha.yx.design.******factory.operation extends %registeredobject
method numberaset(arg as %string) as %status [ serveronly = 1 ]
property numberb as %decimal [ initialexpression = 0, private ];
method numberbget() as %string [ serveronly = 1 ]
method numberbset(arg as %string) as %status [ serveronly = 1 ]
method getresult() [ abstract ]
}
class pha.yx.design.******factory.operationadd extends pha.yx.design.******factory.operation
}
class pha.yx.design.******factory.operationsub extends pha.yx.design.******factory.operation
}
class pha.yx.design.******factory.operationmul extends pha.yx.design.******factory.operation
}
class pha.yx.design.******factory.operationdiv extends pha.yx.design.******factory.operation
}
class pha.yx.design.******factory.operationindex extends pha.yx.design.******factory.operation
}
廠家可以生產各種品牌電腦,例如hp,lenovo,asus等品牌。簡單工廠模式如何實現。感興趣的同學實現後可以發我一起參考下。 第一章 簡單工廠模式
一 包含的角色 簡單工廠模式包含三個角色 二 優勢 實現了松耦合,當需要增加一種新產品 在大話設計模式中,例子是運算operation 只需要做兩點改動 三 c 實現 開發環境 visual studio community 2017 include pch.h include include us...
第一章 簡單工廠模式
物件導向程式設計永遠在考慮 解藕和復用。設計模式是前輩總結的結果,這些模式都是基於問題本身的抽象,活學活用才是王道。簡單工廠模式具有物件導向程式設計的基本優點 封裝 繼承和多型。created by hero on 16 3 29.public abstract class operation pu...
大話設計模式 第一章 簡單工廠模式
實現乙個計算器控制台程式 活字印刷 第一,要改,只需改要改之字,此為可維護 第二,這些字用完依然可用,此為可復用 第三,若要加字只需另刻再加入即可,此為可擴充套件 第四,可橫排可豎排,此為靈活性好 複製vs復用 將計算和顯示分開 即將業務邏輯和介面邏輯分開 public class operatio...