我設想的介面

2021-09-08 16:34:14 字數 539 閱讀 3544

現在c#的介面只是乙個簽名,也就是簽名一樣就可以用不同的實現。

但是我認為這個介面模式還不是理想的模式,我認為介面應該是乙個規則,而不只是乙個簽名。也就是要滿足特定規則的實現,才是符合該介面的。

規則包括對資料的定義,輸入輸出的關係等。從實現角度,就是介面簽名外,增加**測試功能。也就是,任何乙個實現,都應該符合介面的簽名(語法),同時通過它的測試(語意)。

為何我有這個想法,因為大多數情況下,單單簽名相同就認為是乙個實現,這種約束太低了,反而實用價值不大。

比如乙個功能元件,建立的目的不是為了滿足某乙個功能嗎?但是你其中乙個實現卻只是實現了乙個介面簽名,雖然能夠套上去,但是組合起來完全不是你想要的功能,甚至讓你的資料流變得亂七八糟,毫無意義。

比如是乙個增幅器元件,把進入的int流增大,出來也是int流,光服從簽名你可以進去的是大的數,出來是小的數,但是不符合你的語意,你的目的是增大,而不是減小。因此只有增加測試後的、新增語意限制後的介面的實現,才是滿足你工作需求的。對進出的數進行擴大性判斷,不符合語意就報錯。

我認為這種介面,比單純的簽名式介面,更加有實用價值。

我設想的介面

現在c 的介面只是乙個簽名,也就是簽名一樣就可以用不同的實現。但是我認為這個介面模式還不是理想的模式,我認為介面應該是乙個規則,而不只是乙個簽名。也就是要滿足特定規則的實現,才是符合該介面的。規則包括對資料的定義,輸入輸出的關係等。從實現角度,就是介面簽名外,增加 測試功能。也就是,任何乙個實現,都...

我設想的可擴充套件結構 外掛程式 二

第一部分見 我設想的可擴充套件結構 外掛程式 經過一段時間的實踐,一些想法也發生了變化 部署。使用軟體派送系統將外掛程式從伺服器派送到客戶端,並且將檔案存放到乙個被監控的目錄下。介面。所有的外掛程式都必須實現 iplugin 介面。主程式使用此介面來操作外掛程式。iplugin 介面包括兩個方法 和...

我的團隊 四 憧憬 對於團隊的設想

對於自己即將接手的團隊,有著很多的設想。皮之不存,毛將焉附?體制的建立完全關乎到團隊的正常執行。對我們來說,最終的體部門是沒什麼好變化的,呵呵。關鍵是對於人員的分工。其中h是多年的老同志了,從去一年一直負責bi部分的工作,不做變動。j從來公司就負責架構方面的事情也不做變動,z是我們的oracle d...