我正在設計一個非常大的系統,我將用C#和.NET Framework 4.6.2實現(但我認爲這與我的問題無關)。如何實現模塊化系統
該系統將有我可以在一臺計算機中使用它的模塊。例如,如果我正在使用我的系統跟蹤攝像頭讀取的數據矩陣,我將使用一個模塊讀取datamatrix,但在另一個安裝中,我不打算安裝該模塊,因爲我不打算讀取數據矩陣。
簡而言之,我的系統將是一個帶有大量用戶控件的Windows桌面應用程序,如果這些功能可用,我可以使用它來管理某些功能。
所有這些模塊都可以保存統計數據。例如,在相機讀取數據矩陣的模塊中,我想存儲數據矩陣的數量,一分鐘內讀取多少個數據,讀取數據矩陣等。這不是該模塊的功能,所以我需要創建另一個模塊來管理這個統計。
有時我會使用統計,但有時沒有。因此,我需要一種機制來準備所有模塊以使用統計模塊:
- 添加對統計方法模塊的調用以保存數據。
- 添加一種方法將統計信息的模塊插入到另一個模塊中,不要做其他任何事情來使用它。
簡而言之,添加一種方法來使用統計模塊,如果我已經將它「插入」到datamatrix模塊中,並且不使用,如果我沒有插入它。
我需要做一些事情來準備datamatrix模塊來使用統計模塊,如果我插入了,但是如果我沒有插入,不要拋出任何錯誤。
我想我需要實現一個統計模塊的接口和一個將該模塊的實例添加到datamatrix模塊的方法。並且,在datamatrix模塊上,在使用之前檢查統計模塊是否可用。
您認爲如何?有沒有一種模式可以做到這一點?
您可能想要採用OOP方法,絕對是統計信息,並且它們會爲您的共享方法制作一些靜態類並將其放入一個庫(.dll)中 – Jpsh
如果您的模塊具有接口,則只需設置保存/爲每個加載並調用它 – BugFinder