假設我正在創建MATH類,並且需要提供處理兩個數字的方法。 [單片方法 - 缺點
而不是提供每種可能的操作的方法的傳統機制,我提供了一個單一的方法評估:float eval(ArgObj);
其中ArgObj
是一個對象,它可以容納兩個數字和一個操作符。因此,現在只需一種方法就可以完成多項操作。
這種設計有什麼缺點?
兩個確定的缺點是維護和文檔,因爲eval可以處理更多的操作。
我在這裏錯過的其他缺點是什麼?
更新: 我試圖找出是一個大的整體方法的底片,上面的例子只是假設的另一個類似的例子是像
float doSomething(int basedOn)
一種方法,其中DoSomething的可以做一堆行動。
鑄造和確定* ArgObj *實際上是什麼將一定是一個巨大的問題。過載怎麼樣? – 2013-05-01 16:07:57
@PiotrJustyna真的,剛剛更新了問題,第一個例子你的觀點是非常有效的。 – 2013-05-01 16:19:59