第一章 Cach 設計模式 簡單工廠模式

2021-10-04 21:42:43 字數 2406 閱讀 4221

工廠類運算類

加法類減法類

乘法類除法類

指數類思考

可能會寫成這樣:

/// 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...