软件工程 / 为什么基于接口而非实现编程?
生活随笔
收集整理的這篇文章主要介紹了
软件工程 / 为什么基于接口而非实现编程?
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
基于接口而非實(shí)現(xiàn)編程(基于抽象而非實(shí)現(xiàn)編程)的目的是解耦。
這里面接口的含義可以理解為 dll 或者 so 文件對(duì)應(yīng)的頭文件中提供的函數(shù)列表,或者理解為C++中的抽象類(lèi)。
該原則可以將接口和實(shí)現(xiàn)分離,對(duì)外暴露穩(wěn)定的接口、屏蔽不穩(wěn)定的實(shí)現(xiàn)以及各種實(shí)現(xiàn)細(xì)節(jié)。當(dāng)實(shí)現(xiàn)改變時(shí),上層開(kāi)發(fā)者可以不用修改代碼,這樣完成了解耦,提高代碼質(zhì)量。
那如何實(shí)現(xiàn)上述原則呢?有以下三點(diǎn):
- 函數(shù)的命名不能暴露任何實(shí)現(xiàn)細(xì)節(jié)。
- 封裝具體的實(shí)現(xiàn)細(xì)節(jié)。
- 為實(shí)現(xiàn)類(lèi)定義抽象的接口。
總之,不要讓上層調(diào)用者知道任何實(shí)現(xiàn)的細(xì)節(jié)。
?
(SAW:Game Over!)
總結(jié)
以上是生活随笔為你收集整理的软件工程 / 为什么基于接口而非实现编程?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Qt / 对 C++ 的拓展有哪些
- 下一篇: 数据结构与算法 / UUID 和 GUI