日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面向对象软件开发代码结构(2)

發布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面向对象软件开发代码结构(2) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用封裝降低信息的復雜度

封裝是面向對象編程的核心思想之一。

封裝的過程,是將大量的信息(過程、數據),凝縮成滿足特定需求的接口的過程。
從數量上來說,好的封裝必然是將大量的、與業務交互無關的實現細節隱藏起來,只暴露出少量的交互接口。如果封裝后比沒有封裝情況下信息增加了,那這種情況可以考慮不做封裝或輕量級封裝,當然這需要結合以后是否需要擴展來考慮。

當然與封裝相反的是,信息體的訪問完全可以在不封裝的條件下訪問。這種方式存在的問題是,如果訪問的代碼存在于多個地方的話,就會產生重復。重復的代碼是對修改不友好的。因為一旦需要修改訪問代碼,就需要改動多個地方,會產生大量的工作量。

另外,封裝后的接口相對于原有的信息體而言,一般信息量是大幅度減少的,只需要幾個函數和較少的參數和返回值即可訪問。這對使用此信息體的開發人員來說,只需要掌握必要接口的使用方法即可,無需每次使用此功能時,都重新回顧此信息體的內部運作原理。

由上可以看出,封裝的作用有:

  • 隱藏實現細節
  • 提高代碼復用率
  • 減少思考負擔
  • 封裝形式

    函數是最基本的封裝形式。
    面向對象編程中,類是新的一種封裝形式。
    庫/模塊是更高級別的封裝形式。
    大到系統軟件、工具軟件也是一種信息體的封裝形式。

    另一種理解方式

    既然封裝是一種由多到少的過程,可以將一次封裝理解為建立樹的過程。
    實際項目中,一個軟件致力于解決某一領域的某一類問題。在分析需求時,需要將需求逐層分解,大問題化成小問題,不相關的問題之間相互獨立,這是一種和封裝相反的過程。但是其分解后的結果可以為封裝提供依據。

    封裝相關的問題

    封裝要側重對需求不易改變的部分進行。如果封裝的部分需求易變,那么以后免不了要做出修改,而且修改的內容可能很多,這就導致以前的封裝工作白費。在分析需求的基礎上,一種可行的方法是對需求易變的部分進行相對寬松的、輕量級的封裝。

    封裝范圍問題。封裝的范圍要盡量小,要對具有高度關聯的信息進行封裝,實現高內聚。

    減少嵌套。嵌套會增加耦合性,并導致訪問路徑變長。


    未完待續

    總結

    以上是生活随笔為你收集整理的面向对象软件开发代码结构(2)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。