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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

你们要的动图来了:2张动图快速理解高内聚与低耦合

發(fā)布時(shí)間:2025/3/21 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 你们要的动图来了:2张动图快速理解高内聚与低耦合 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

模塊

模塊就是從邏輯上將系統(tǒng)分解為更細(xì)微的部分, 分而治之, 復(fù)雜問(wèn)題拆解為若干簡(jiǎn)單問(wèn)題, 逐個(gè)解決.

耦合主要描述模塊之間的關(guān)系, 內(nèi)聚主要描述模塊內(nèi)部. 模塊的粒度可大可小,?可以是函數(shù), 類(lèi), 功能塊等等.

耦合

模塊之間存在依賴(lài), 導(dǎo)致改動(dòng)可能會(huì)互相影響, 關(guān)系越緊密, 耦合越強(qiáng), 模塊獨(dú)立性越差.

比如模塊A直接操作了模塊B中數(shù)據(jù), 則視為強(qiáng)耦合, 若A只是通過(guò)數(shù)據(jù)與模塊B交互, 則視為弱耦合.

獨(dú)立的模塊便于擴(kuò)展, 維護(hù), 寫(xiě)單元測(cè)試, 如果模塊之間重重依賴(lài), 會(huì)極大降低開(kāi)發(fā)效率.?

內(nèi)聚

模塊內(nèi)部的元素, 關(guān)聯(lián)性越強(qiáng), 則內(nèi)聚越高, 模塊單一性更強(qiáng). 一個(gè)模塊應(yīng)當(dāng)盡可能獨(dú)立完成某個(gè)功能,?

如果有各種場(chǎng)景需要被引入到當(dāng)前模塊, 代碼質(zhì)量將變得非常脆弱, 這種情況建議拆分為多個(gè)模塊.

低內(nèi)聚的模塊代碼, 不管是維護(hù), 擴(kuò)展還是重構(gòu)都相當(dāng)麻煩, 難以下手.

接口設(shè)計(jì)原則

好的接口應(yīng)當(dāng)滿(mǎn)足設(shè)計(jì)模式六大原則,?很多設(shè)計(jì)模式, 框架都是基于高內(nèi)聚低耦合這個(gè)出發(fā)點(diǎn)的.

  • 單一職責(zé)原則: 一個(gè)類(lèi)只負(fù)責(zé)一個(gè)功能領(lǐng)域中的相應(yīng)職責(zé).

  • 開(kāi)閉原則: 一個(gè)軟件實(shí)體應(yīng)當(dāng)對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉.

  • 里氏代換原則: 所有引用基類(lèi)(父類(lèi))的地方必須能透明地使用其子類(lèi)的對(duì)象.

  • 依賴(lài)倒轉(zhuǎn)原則: 抽象不應(yīng)該依賴(lài)于細(xì)節(jié), 細(xì)節(jié)應(yīng)當(dāng)依賴(lài)于抽象. 換言之, 要針對(duì)接口編程, 而不是針對(duì)實(shí)現(xiàn)編程.

  • 接口隔離原則: 使用多個(gè)專(zhuān)門(mén)的接口, 而不使用單一的總接口, 即客戶(hù)端不應(yīng)該依賴(lài)那些它不需要的接口.

  • 迪米特法則: 一個(gè)軟件實(shí)體應(yīng)當(dāng)盡可能少地與其他實(shí)體發(fā)生相互作用,?例如外觀模式, 對(duì)外暴露統(tǒng)一接口.

  • 舉幾個(gè)栗子

    外觀模式

    為系統(tǒng)中多個(gè)子系統(tǒng)提供一致的對(duì)外調(diào)用, 對(duì)客戶(hù)端隱藏子系統(tǒng)細(xì)節(jié), 降低其與子系統(tǒng)的耦合.

    橋接模式

    JDBC中的把面向廠商的接口(Driver)和面向使用者的API(DriverManager)做了拆分隔離.

    ?// 開(kāi)發(fā)者只需要關(guān)注JDBC API, 無(wú)需關(guān)注不同數(shù)據(jù)庫(kù)Driver接口實(shí)現(xiàn)Class.forName("com.mysql.jdbc.Driver");Connection conn = DriverManager.getConnection(url, username, password);

    適配器模式

    引入第三方庫(kù)(hibernate, log4j), 不應(yīng)該直接在代碼中繼承或者使用其實(shí)體類(lèi).

    需要抽出上層統(tǒng)一接口, 然后增加實(shí)現(xiàn)類(lèi), 對(duì)外暴露接口.

    ?// 代碼與log4j強(qiáng)耦合, 不推薦org.apache.log4j.Logger.getRootLogger().info("info");// 底層可以隨意更換log框架FRLoggerFactory.getLogger().info("info");

    原文鏈接:https://www.cnblogs.com/xdecode/p/9393885.html

    總結(jié)

    以上是生活随笔為你收集整理的你们要的动图来了:2张动图快速理解高内聚与低耦合的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲一区在线免费 | 91精品国产色综合久久不卡98 | 亚洲中文字幕无码一区 | 一个色在线视频 | 欧洲精品一区二区三区久久 | 8ppav| 男人天堂电影 | 在线草 | 日韩美女一级片 | 美女露隐私网站 | 久久蜜桃视频 | 又黄又爽的视频在线观看 | 亚洲无码国产精品 | 午夜免费一级片 | 久艹在线 | 白丝女仆被免费网站 | 亚洲国产精品成人综合久久久 | 久久久久国产精品午夜一区 | 91蝌蚪在线| 黄色视屏在线免费观看 | 视色网| 高潮一区二区 | 国产欧美亚洲一区二区 | 精品香蕉99久久久久网站 | 台湾性dvd性色av | 69成人免费视频 | 女女互磨互喷水高潮les呻吟 | 日本午夜免费福利视频 | 97精品国产97久久久久久春色 | 天天想你在线观看完整版电影高清 | 国产日韩在线免费观看 | 午夜影院性 | 暖暖免费观看日本版 | 国产成人91 | 成人国产精品一区二区 | 在线视频久 | 国产精品久久久久久久久借妻 | 日本黄页网站 | 亚洲激情网站 | 日韩美女少妇 | www.日韩在线观看 | 91精品国产自产精品男人的天堂 | 日韩中文字幕在线观看 | 成人国产综合 | 亚洲免费国产 | 欧美性成人 | 国产精品久久精品三级 | 六月丁香在线视频 | 欧美日韩美女 | 成人污污视频在线观看 | 中文一区二区在线 | 美女露出粉嫩尿囗让男人桶 | 美女xx网站 | 丁香五香天堂 | 视频免费1区二区三区 | 欧美婷婷六月丁香综合色 | 欧美福利第一页 | 岛国福利视频 | 一区二区在线观看视频 | 理论片91 | 琪琪射 | av日韩在线免费观看 | 天天摸日日操 | 婷婷五月在线视频 | 亚洲一区二区三区 | 一级大片网站 | 亚洲视频天天射 | 欧美精品一区二区免费 | 国产精选毛片 | 久久99久久精品 | 一区二区免费在线观看视频 | 日韩成人在线影院 | 亚洲激情欧美激情 | 欧美亚洲一级 | 国产又粗又猛又爽又黄91 | 秋霞av影院 | 久久久久久久久久综合 | 91插插插永久免费 | 午夜福利视频合集1000 | 亚洲网站在线播放 | 一区二区日韩国产 | 亚洲一区二区久久久 | 成人精品二区 | 天天射天天搞 | 99久久人妻无码中文字幕系列 | 欧美美女黄色 | 男人的天堂久久久 | 日本男男激情gay办公室 | 亚洲最大的av网站 | 亚洲色图综合在线 | 熟女少妇一区二区 | 精品视频导航 | 国模婷婷 | 久久人人妻人人人人妻性色av | 激情丁香网 | 欧洲精品二区 | 午夜精品久久99蜜桃的功能介绍 | 97色伦图片| 日本黄网站 |