2015-06-30 115 views
2

我必須計算例如大約300個不同的分析 1.計算意味着在給定的一組給定 2.計算中值的集 等 這些計算器將在分批過程中被用於從一組數據計算分析。 我打算創建一個AbstractCalculator,它將具有所有常用邏輯,然後將在每個子類的計算方法中提供核心實現。 我想知道是否有更好的方法,或者是否存在我可以針對這種要求參考的現有設計模式。只有我能看到的問題是它會難以管理300孩子classes.Is,要想處理這樣的要求 感謝 沙克蒂用於分析計算爪哇設計圖案

+1

看來你最好把計算放在一個共同的庫中。使用通用的幫助器方法來實現代碼重用。如果我是你的圖書館的用戶,我不想掃描300個課程來找到我想要的功能。 –

+0

謝謝@james wierzba。事實上,將分析結果作爲一個單一的公共庫來實施是非常有用且易於管理的。 – Shakti

回答

1

您正在搜索的戰略設計模式 (https://en.wikipedia.org/wiki/Strategy_pattern

一個更好的辦法

策略允許算法獨立於使用它的客戶。[1]策略是Gamma等人有影響力的設計模式中所包含的模式之一。在軟件設計中普及使用模式的概念。

策略模式規定,你有一個超類,在你的情況下,例如AbstractCalculator用的方法計算(setInput設置)

要添加到您的PROGRAMM每個功能可以通過聲明 新加入從AbstractCalculator繼承的類;函數(例如,給定Set的均值的計算)在子類的計算方法中實現。

事實上,你將不得不實行這種模式300個不同的類 - 我建議你在圖書館,這與許多類較少實現所有 函數聲明你的功能。