自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

充分利用面向?qū)ο笳Z言的接口特性

原創(chuàng)
開發(fā) 開發(fā)工具
接口是面向?qū)ο笳Z言的特點之一。這個特點源自C++,現(xiàn)在在C#,Java等面向?qū)ο笳Z言中都存在這種方式。然而根據(jù)一個資深軟件工程咨詢師的調(diào)查,接口還沒有被大多數(shù)開發(fā)人員充分利用。

【51CTO快譯】現(xiàn)代的面向?qū)ο笳Z言源自C++的特點之一是使用接口。一個接口是一個類,它沒有具體的實現(xiàn)過程,只提供一個用來訪問其資源的接口。(51CTO編輯:有關(guān)面向?qū)ο笳Z言的更多特點,可以參考面向?qū)ο蟮乃季S過程,以及面向?qū)ο缶幊讨蓄愒O(shè)計的幾個原則一文

每個接口需要用一些具體的類來實現(xiàn),但優(yōu)點是,使得實現(xiàn)細節(jié)可以可容易地獨立出來。因此,你不必同時擔心實現(xiàn)和接口問題。

接口可以幫助我不斷建立易于測試、修改、而且不依賴于具體類的軟件。接口可能不是最***的面向?qū)ο缶幊?,但它在編程、集體的類之上提供了眾多的優(yōu)勢。

接口是你和你的其他應(yīng)用程序之間的一項合約。該合約由編譯器保證,因此無法在不改變接口的情況下改變你的類中的服務(wù)。

創(chuàng)建一個接口可以讓你好好思考你的類需要給客戶提供哪些功能。建立接口的正規(guī)步驟需要你考慮什么是類中必不可少的,什么是可選的。刪除那些并不重要,然后你將擁有一個堅實的基礎(chǔ)。

◆接口可以混合。所以即使你想要的所有功能并沒有在一個接口中呈現(xiàn),你也不必擔心。你可以隨時添加額外的接口,來為具體用例提供所需的方法。使用接口,在建立新功能時,你不會覺得像使用具體類那樣受到限制。接口可以隨時混合和匹配。

接口讓軟件測試更容易。由于沒有被束縛在具體的實現(xiàn)過程上,你可以通過定義你自己的具體的類,來自由更改測試類所使用的代碼。這就會更加模塊化,測試結(jié)果更加清晰。

接口的缺點

接口的缺點非常少,唯一主要的缺點是,你需要花費一些精力來維護一個獨立的實體。但是,現(xiàn)代編程工具使這件事變得很容易,因此它不再像從前那么困難。

使用接口的另一個需要強調(diào)的方面是,C++中使用虛指針的實現(xiàn)問題。但是,你必須注意,現(xiàn)代面向?qū)ο笳Z言是基于虛擬機的。這種語言把每種方法描述為一個虛指針,除非系統(tǒng)決定內(nèi)聯(lián)方法(在這種情況下,不存在實現(xiàn)問題)。除非你有非常重要的軟件(在這種情況下,你可能需要使用的C/ C + +)你不應(yīng)該擔心這種實現(xiàn)問題,因為虛擬機會很好地解決這種問題。如果對虛擬機的概念仍然不很了解,可以參考詳細介紹什么是Java虛擬機一文。

結(jié)論

接口是一個現(xiàn)代化的機制,用來改進軟件設(shè)計。盡管這樣,接口還沒有被大多數(shù)開發(fā)人員充分利用。我們應(yīng)該利用接口作為應(yīng)用程序各個部分之間默認的通信方法,只在建立對象(工廠方法)以及向包中加入類時使用具體類。

原文:When in Doubt, Create an Interface by Carlos Oliveira

【相關(guān)閱讀】

  1. Java語言中抽象類和接口的區(qū)別
  2. 淺談C#中的接口問題
  3. 跟MVP學C#視頻教程之八 接口
責任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2013-01-18 14:02:46

VDI存儲IOPS

2010-05-06 12:44:13

Unix系統(tǒng)

2024-10-28 15:14:53

2017-01-04 15:42:43

運營商SDN服務(wù)保障

2023-10-23 16:11:14

2019-06-13 19:20:38

云平臺遷移云計算

2018-09-04 08:40:41

數(shù)據(jù)中心網(wǎng)絡(luò)機柜

2015-02-26 09:50:42

vSphereSSD

2013-03-22 10:30:16

IT主管ITM云計算

2019-05-05 09:26:01

物聯(lián)網(wǎng)安全物聯(lián)網(wǎng)投資物聯(lián)網(wǎng)

2020-08-18 09:03:06

云計算云存儲數(shù)據(jù)

2015-06-04 09:12:05

云安全

2013-07-25 09:20:32

Windows 8.1

2024-04-12 14:46:33

人工智能醫(yī)療保健

2021-06-02 13:17:42

物聯(lián)網(wǎng)IOT

2023-09-05 14:58:23

大數(shù)據(jù)

2020-06-22 11:59:23

物聯(lián)網(wǎng)構(gòu)建系統(tǒng)IOT

2020-09-28 20:44:44

機器學習開源工具編程語言

2021-02-09 10:55:10

物聯(lián)網(wǎng)人工智能邊緣計算

2021-03-27 10:53:05

NodeJSCPU服務(wù)器
點贊
收藏

51CTO技術(shù)棧公眾號