介面和委託

2021-05-26 22:15:38 字數 348 閱讀 4660

最近在公司實習,開始接觸設計模式和規範化編碼。介面和委託的使用頻率越來越高。感覺需要寫下其中二者的區別,用以幫助日後的開發。

1,粒度

在粒度上,委託要比介面更小一些,委託是函式級而介面是類級的。這就意味者,在使用時,如果需要採用很多種處理方法,應該用介面。如果只是乙個方法,委託就行了。

2,約束

在 約束上,委託要比介面更弱一些,介面的使用範圍是有一定限制的,也就是必須是採用該介面的類方可使用。而委託相對而言,要「自由」的多。但是從對立面來看,這也使得了在維護和擴充套件上,委託要比介面更弱。因為,介面意味著方法「集中」,而委託是方法「分散」。

新手學習,可能其中用詞不准,希望海涵,若有理解偏差的,希望指正。

介面 委託 特性 反射 多播委託

用於與服務有關,只有方法宣告,無方法體,介面不能放欄位。預設訪問修飾符為public 繼承了介面,必須實現所有的介面成員 介面也可以多重介面 using system using system.collections.generic using system.linq using system.te...

介面 委託 事件

介面和抽象類 為了更好的理解介面,最常見的問題莫過於介面和抽象類的區別。介面和抽象類卻存在實實在在的差異,具體體現在 1.乙個類可以實現任意多個介面,但是最多只能對乙個抽象類進行子類化 2.乙個抽象類可以包括非抽象方法,而乙個介面的所有方法在效果上都是抽象的 3.乙個抽象類可以宣告並使用變數,而乙個...

委託 三 委託與介面的區別

何時使用委託?何時介面?在以下情況中使用委託 1.當使用事件設計模式時.2.當封裝靜態方法可取時.3.當呼叫方不需要訪問實現該方法的物件中的其他屬性.方法或介面時.4.需要方便的組合.5.當類可能需要方法的多個實現時.在以下情況使用介面 1.當存在一組可能被呼叫的相關方法時 2.當類只需要方法的單個...