我們正在開發一個項目,其中將有一個需要由解決方案的多個部分訪問的共享配置。界面應該有多複雜?
負責Config模塊的團隊實現了一個僅由2個類組成的接口。 2個類負責獲取,緩存和提供特定值(通過屬性)。
我覺得這是一個糟糕的設計,在我看來,最好是定義可以通過接口訪問的所有配置值,但不是實現此行爲的實際類。
在我看來,對於像獲取配置值這樣的東西,給出一個接口來顯示我可以訪問的值,而不是一個類(該實現例如屬性不受控界面)。
CNC中 界面看起來是這樣的:
public interface IConfigurationResolver
{
GeneralConfiguration GetGeneralConfiguration(string Id);
SpecificConfiguration GetSpecificConfiguration(string Id);
}
它是由一個類實現。我的意思是這個接口真的只是定義了兩個類,每個類都負責提供配置值,而我認爲如果接口不關心這些細節並且應該提供配置值本身,那麼它會更好。
這些是非常有經驗的開發人員,而我不是,那麼你在這方面的立場是什麼?
如果不對應用程序有更廣泛的理解,就幾乎不可能對此進行評論:大小,功能,生命週期等等。這些影響什麼的所有因素都被認爲是最佳實踐。例如,對於生命週期短的產品來說,可維護性就不那麼重要了。開發人員的努力最好花在配置類以外的其他方面。 – Khior
配置在這個項目中非常重要。這是一個將運行至少5年(可能更長)的Web應用程序。它將使用戶能夠在不同的(但非常相似的)系統上工作。這些系統將需要很多參數和公式,這些參數和公式在系統之間會有所不同,並且可能隨時間而改變。對不起,我不能真正說出我們在這裏談論的究竟是什麼 – buddybubble