我是軟件設計方面的一名非專業人士。我面臨着一個「問題」,可能是通過一些我熟悉的技術/成語/模式來解決的。軟件設計:課程太多?
我有一個抽象的基類,基本上定義一個純粹的虛擬成員函數和其他一些。然後我有幾個類從這個派生出來,並覆蓋上述虛擬函數。我現在已經有六個這樣的班級,人數也在增長。這些類只有少數幾個數據成員(很少有,比如幾個雙打或者加上一個函數指針),它們主要因爲它們執行非常短的計算的方式而有所不同。我想知道這是否表明設計不好,而且更好地以其他方式處理。
如果合適,有人能指出我的相關設計模式或成語我應該知道。謝謝。
EDIT
爲了澄清的東西,抽象基類沒有任何數據成員。並非所有的派生類都有數據成員。我正在做的是將積分座標轉換爲類。給定的轉換隻需要幾個參數,有時還需要用戶提供的功能。
如果代碼沒有被複制,那麼你是在正確的軌道上。 – Dialecticus
抽象基類是否有任何數據成員? –
同意@Dialecticus,但函數指針提高了我的眉毛。爲什麼使用函數指針?你能不能把它設計成給定子類的細節?另外,如果你還沒有,[看看'std :: function'](http://en.cppreference.com/w/cpp/utility/functional/function)。它可以簡化函數指針的使用。 – user4581301