在研究C#中繼承概念的實際應用時,我引入了一種有趣的代碼模式。非通用接口I
多次繼承通用類型I<T>
,每個接口都具有不同的類型參數。 從I<T>
繼承的唯一原因是爲了宣告重載,I<T>
在代碼中的任何地方都不會被引用,除了繼承關係。爲了說明:將此設計模式命名爲
interface Combined : Operations<Int32>, Operations<Int64>, Operations<double> {}
interface Operations<T> {
T Add(T left, T right);
T Multiply(T left, T right);
}
在實踐中,IOperations
接口有30種方法具有廣泛的XML文檔,所以它似乎是合乎邏輯不想重複這些聲明這麼多次。我搜索了'過載重複設計','方法聲明重用設計模式'等,但找不到任何有用的信息。
也許這種模式在支持像C++這樣的多繼承的語言中有着更深刻的用途,其中也可以提供操作的實現。
tl; dr:您能否在上面的代碼示例中命名設計模式?
要回答你的問題:這個例子只是一個例子,可以添加或刪除更多的數據類型。該接口是通用的,而不是方法,因爲固定數量的類型支持'IOperations'中的操作,'IOperations '從未被引用,只使用'Combined'。這樣做的唯一原因是重複方法聲明和XML文檔。 (實現'Combined'的類實現了所有的方法)。 –
Bas
2014-09-19 08:19:54