精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

?軟件系統的復雜性、耦合度和內聚性

系統
我們編寫的軟件由服務、進程、文件、類、過程等組成 — 這些模塊隱藏了我們無法抗拒的一堆位和片段。讓我們思考一下。

我們遇到的任何軟件系統很可能都過于復雜,一次無法完全理解 — 人類的思維無法理解大量實體及其關系。我們傾向于通過建立抽象來簡化現實:一旦我們將許多閃亮的金屬、玻璃和橡膠定義為“汽車”,我們就可以談論“高速公路”、“停車場”和“乘客” — 我們生活在我們創造的抽象世界中。同樣,我們編寫的軟件由服務、進程、文件、類、過程等組成 — 這些模塊隱藏了我們無法抗拒的一堆位和片段。讓我們思考一下。

概念與復雜性

任何系統都包括 概念 — 以其他概念為基礎定義的概念。例如,如果你正在實現一個電話簿,你會處理 名 和 姓、號碼、排序 和 搜索,這些概念是任何與電話簿相關的開發任務中必須牢記的 — 只因為電話簿的需求是用這些概念及其關系描述的。

在代碼中,高級概念被體現為服務、模塊或目錄,而較低級的概念則對應于類、API 方法或源文件。

概念很重要,因為它們的數量(或相應類和方法的數量)定義了系統的 復雜性 — 開發人員面對的認知負荷。如果程序員詳細了解他們正在處理的組件的行為,他們往往會變得極其高效,并且通常能夠為看似復雜的任務找到簡單的解決方案。否則,開發速度會很慢,并且需要進行大量測試,因為人們不確定他們的更改會如何影響系統的行為。

圖1:復雜性與實體數量相關

模塊、封裝和有界上下文

讓我們回到我們的例子。當你實現電話簿時,你會發現排序和搜索比你最初想象的要復雜得多。一旦你準備進入國際市場,你就會陷入深深的困境。一些電話服務提供商發送7位數字,其他人使用10位數字,還有些人使用13位數字(第一個字符為“+”或“0”)。德語有“?”,它與“ss”相同,而日語同時使用兩種字母表。一旦你開始閱讀標準,實現所有奇怪的行為并回應用戶投訴,你會感到你的電話簿實現淹沒在充滿特殊情況的外語字母表的無關邏輯中。你需要 封裝。

引入 模塊。模塊封裝了幾個概念,有效地將它們隱藏在外部用戶之外,并暴露了其內容的簡化視圖。引入模塊將復雜的系統分成了幾個通常更簡單的部分。

圖2:將系統劃分為模塊,突出顯示有界上下文

該圖有幾個值得注意的地方:

  • 模塊為其 公共API 創建了新的概念。
  • API 入口點增加了 擁有者模塊 和其客戶的復雜性。
  • 系統中的概念總數已增加(從18個到22個),但系統中最高復雜度已下降(從18到15)。

在這里,我們看到引入模塊如何將分而治之的方法應用于減少在系統的任何部分上工作時的認知負荷,以較小的總工作量為代價。

在我們的電話簿示例中,與地區相關的字符串比較和聯系人姓名的字母排序的特殊性(包括大小寫敏感性)應該更好地保留在一個簡單的字符串比較接口之后,以解除電話簿引擎程序員對支持外語的復雜性的負擔。

模塊代表 有界上下文 [DDD] — 系統知識的領域,這些領域操作不同的術語集。對于電話簿來說,整理 和 大小寫敏感性 對于電話簿引擎并不重要 — 它們只在語言支持的上下文中定義。另一方面,通過號碼匹配聯系人 在語言支持模塊中并未定義 — 該術語僅存在于電話簿引擎中。程序員所面臨的是當前有界上下文的復雜性。

除了將問題分解為較簡單的子問題外,模塊還帶來了一些額外的好處:

  • 代碼重用。一個良好編寫的模塊可以在多個項目中使用。
  • 勞動分工。一旦系統被拆分為模塊,并且每個模塊都被分配給一個程序員,開發就會被高效地并行化。
  • 高級概念。有些情況允許將原始問題的幾個概念合并為更高級的聚合,進一步降低復雜性:

圖3:合并了綠色模塊的兩個API概念

例如,電話簿的原始定義包含 名 和 姓。一旦我們將語言支持分離到一個專用模塊中,我們可能會發現各種地區在表示聯系人時有所不同:一些(美國)使用“名 + 姓”,而其他一些(日本)則需要“姓 + 名”。如果我們想要擺脫這個細節,我們應該使用一個新的 全名 概念,它以特定于區域的方式連接名和姓。這樣的改變實際上簡化了電話簿的某些表示邏輯和代碼,因為它用一個概念替換了兩個概念。

耦合度和內聚性

為了有效使用模塊,我們需要學習一些新的概念:

  • 耦合度 是模塊之間連接數量(密度)的度量,相對于模塊的大小。
  • 內聚性 是模塊內連接數量(密度)的度量,相對于模塊的大小。

經驗法則是要追求 低耦合和高內聚,這意味著每個模塊應該封裝一組相關(密切交互)的概念。這就是我們在圖2和圖3中將系統劃分為的方式。現在讓我們看看如果我們違反規則會發生什么:

圖4:上部模塊耦合度高

拆分一個內聚模塊(一組相互交互的概念),會產生兩個強耦合的模塊。這正是我們想要的,只是每個新模塊幾乎與原始模塊一樣復雜。也就是說,我們現在面臨兩個艱巨的任務,而不是一個。此外,系統的性能可能很差,因為模塊之間的通信很少是最佳的,而我們卻有太多這樣的通信。

圖5:下部模塊內聚性低

如果我們將幾個概念集聚在同一個模塊中會發生什么?對于小模塊來說,不會發生什么太糟糕的事 — 模塊的復雜性高于其各個部分,但低于它們的總和。實際上,多個無關的函數通常被收集到一個‘utils’或‘tools’文件或目錄中,以減輕 操作復雜性。

開發與操作復雜性

我們上面討論的是 結構性 或 開發復雜性 —— 有界上下文內部的概念和規則的數量。然而,我們還需要理解系統作為一個整體的操作和組件,從而導致 操作 或 集成復雜性:

  • 這個新需求是否適合現有模塊,還是需要一個專用模塊?
  • 我們使用了哪些存在已知安全漏洞的庫?
  • 有沒有辦法減少我們的云服務成本?
  • 1% 的請求超時了。你能調查一下嗎?
  • 我的團隊需要實現這個和那個。我們有適合重用的東西嗎?
  • 那個全局變量到底是干什么的?
  • 我們真的需要將這段代碼投入生產嗎?
  • 我需要稍微改變一下那個共享組件的行為。有什么意見嗎?

當部署了數百或數千個模塊時,沒有人知道答案。這類似于需要在 Linux 下執行某些操作的情況:已預安裝了數百個工具,數千個其他工具則作為軟件包可用,但唯一的前進方式是首先在搜索引擎中搜索您的需求,然后嘗試搜索結果中的兩三種方法,看哪種適合您的設置。不幸的是,谷歌并不索引您公司的代碼。

模塊的組合

一個模塊不僅可以封裝單個概念,還可以封裝其他模塊。這并不奇怪,因為 OOP 類是一種模塊 — 它具有公共方法和私有成員。將一個模塊隱藏在另一個模塊中會將其從全局范圍中刪除,減少了系統的操作復雜性 — 現在不再是系統的架構師,而是外部模塊的維護者必須記住內部模塊。一方面,在組織和代碼中建立了可管理的層次結構。另一方面,代碼重用和許多優化幾乎不可能實現,因為內部模塊在整個組織中幾乎不為人知:

圖6:模塊的組合阻止了重用

如果我們的內部模塊的功能被我們的客戶需要,我們有兩個不好的選擇:

轉發和重復

圖7:轉發內部模塊的API

我們可以將我們封裝的模塊的API添加到我們的公共API中,并將其調用轉發到內部模塊。然而,這會增加我們模塊的復雜性,并降低我們模塊的內聚性 — 現在我們模塊的每個客戶都暴露于我們封裝的模塊的方法的細節中,即使他們并不打算使用它。

圖8:重復內部模塊

另一個不好的選擇是讓需要我們封裝的模塊的客戶復制它并擁有副本作為自己的子模塊。這使我們擺脫了任何共同的責任,讓我們可以任意修改和誤用我們的內部,并違反了常識的一對 規則。

這兩種方法,即將所有模塊保留在全局范圍內和通過組合封裝實用模塊,都在歷史上找到了它們的位置[FSA]。面向服務的架構 基于重用的想法,但卻成了其 企業服務總線 的復雜性的犧牲品,該總線必須考慮系統中的所有交互(API 方法)。作為反應,微服務 方法把潮流轉向了相反的方向:其支持者不允許在服務之間共享任何資源或代碼,以確保它們的解耦。

責任編輯:趙寧寧 來源: 小技術君
相關推薦

2015-01-14 09:57:29

阿里云異構系統分布式消息

2023-10-06 12:08:53

Java代碼

2017-06-23 08:45:02

存儲技術復雜性

2021-02-22 10:27:30

網絡軟件多云網絡復雜性

2013-11-01 13:38:41

程序員編程語言

2012-12-26 10:53:26

2012-09-19 13:18:37

復雜設計UI設計

2019-05-13 15:47:29

Kubernetes云計算云復雜性

2009-01-20 15:23:33

存儲安全密鑰數據保護

2014-08-21 08:54:03

2024-06-07 00:08:00

分布式系統開發

2019-08-21 13:24:25

KubernetesHadoop容器

2012-08-08 11:04:39

網管軟件惠普云管理

2022-10-21 14:49:41

AI系統

2019-07-29 12:35:15

云計算復雜性云計算平臺

2019-11-23 23:30:55

Python數據結構時間復雜性

2020-06-15 09:58:23

云計算云安全數據

2020-03-24 09:52:34

大數據IT技術

2018-05-16 07:34:52

NFV虛擬化數據中心

2018-07-31 14:47:51

Kubernetes開發應用程序
點贊
收藏

51CTO技術棧公眾號

成人黄色在线看| 欧美天堂在线| av在线不卡免费看| 国内成人精品视频| 在线观看免费视频污| 久草免费在线| 成人综合婷婷国产精品久久蜜臀| 欧美极品美女视频网站在线观看免费 | 国产一区二区三区在线免费观看 | 国产精品美女| 原创国产精品91| 一区二区三区国产好的精华液| 日本不卡影院| 久久久久国产一区二区三区四区| 国产精品爽黄69| 超碰手机在线观看| 婷婷精品视频| 欧美日韩在线精品一区二区三区激情| 国产成年人在线观看| 亚洲国产一二三区| 日韩国产欧美一区二区三区| 中文字幕av一区二区三区谷原希美| 91高清国产视频| 国产v日韩v欧美v| 国产精品久久久久久久久久久免费看 | 你懂的在线播放| 国产乱码精品一区二区三区五月婷| 欧美激情一级二级| 欧美另类69xxxx| 精品人人人人| 欧美午夜精品久久久久久超碰| 欧美乱大交xxxxx潮喷l头像| 2021av在线| 91毛片在线观看| dy888夜精品国产专区| 这里只有精品国产| 91久久黄色| 久久九九国产精品怡红院| 美女被到爽高潮视频| 91麻豆精品激情在线观看最新 | 亚洲大尺度美女在线| 三级a三级三级三级a十八发禁止| 男人av在线播放| 亚洲免费三区一区二区| 三级三级久久三级久久18| 欧美视频在线观看一区二区三区| 人人澡人人添人人爽一区二区| 久久亚洲影视婷婷| 国产精品国产精品国产专区蜜臀ah | jlzzjlzz亚洲日本少妇| 国产69精品久久久久9999apgf| 这里只有久久精品视频| 亚洲欧美日本日韩| 午夜精品理论片| 国产一级在线视频| 综合视频在线| 久久视频中文字幕| 18禁裸乳无遮挡啪啪无码免费| 国产精品白浆| 亚洲成av人片在线观看香蕉| 91精产国品一二三| 大桥未久女教师av一区二区| 欧美一区二区人人喊爽| 免费av不卡在线| 麻豆蜜桃在线观看| 亚洲成人www| 国产九九九九九| 成人一级福利| 色哟哟一区二区在线观看| 亚洲色成人一区二区三区小说| 色呦呦在线看| 亚洲成人综合网站| 免费av手机在线观看| av在线私库| 岛国视频午夜一区免费在线观看| 91制片厂免费观看| 黄页网站在线观看免费| 亚洲国产精品久久艾草纯爱 | 女同毛片一区二区三区| 日韩三级精品| 日韩av一卡二卡| 丰满圆润老女人hd| 欧美丝袜激情| 欧美大码xxxx| 日本少妇做爰全过程毛片| 国产一区二区高清| 国产成人精品国内自产拍免费看| 不卡的免费av| 亚洲欧美日韩专区| 国产成人激情视频| 亚洲一级视频在线观看| 国产美女在线观看一区| 不卡一卡2卡3卡4卡精品在| 免费观看国产视频| 99国产精品国产精品久久| 日本高清不卡一区二区三| wwwxxx在线观看| 亚洲日本va在线观看| www.激情网| 成人动漫一区| 欧美日韩国产天堂| aaa黄色大片| 神马日本精品| xxx一区二区| 国产精品第72页| 日韩二区三区四区| 91国产丝袜在线放| 青青草免费在线视频| 久久久久久99久久久精品网站| 中文字幕成人一区| 麻豆国产在线| 7777精品伊人久久久大香线蕉完整版 | 国产大学生av| 亚洲人成精品久久久 | 男人天堂一区二区| 中文字幕av不卡| 国产在线播放观看| 色噜噜狠狠一区二区| 国产成人av无码精品| 久久久久噜噜噜亚洲熟女综合| 一二三区中文字幕| 日韩免费啪啪| 日本无删减在线| 亚洲三级av| 国内精品久久久久久久97牛牛 | 亚洲精品美女网站| 国内精品久久久久影院优| 国产精品一区二区久久| 日韩精品电影网站| 国产精品69页| 色一情一交一乱一区二区三区| 日本午夜精品理论片a级app发布| 性做久久久久久久久久| 在线观看男女av免费网址| 国产精品专区免费| 日本成人中文| 一本久道综合久久精品| 国产成人高清在线| 亚洲精品成人在线| 精品视频一区 二区 三区| 亚洲精品久久久久久久久久久久| 在线观看国产欧美| 国产精国产精品| 美女精品国产| 亚洲理论电影在线观看| 久久aaaa片一区二区| 日韩成人短视频| 国产女无套免费视频| www 日韩| 国产激情欧美| 亚洲不卡av不卡一区二区| 精品在线观看免费| 亚洲午夜视频在线| 亚洲码在线观看| 国产精品成久久久久三级| 色一情一乱一伦一区二区三区丨| 午夜激情福利在线| www色aa色aawww| 亚洲精品久久久久久无码色欲四季 | 91高清视频免费看| 中文日韩在线视频| 国产精品裸体一区二区三区| 日本三日本三级少妇三级66| 亚洲一级片免费| 男女啪啪免费视频网站| 东京热无码av男人的天堂| 国产手机视频在线| 欧亚一区二区| 欧美三级特黄| 91麻豆精品在线观看| 亚洲成va人在线观看| 欧美精品少妇一区二区三区| 国产视频亚洲精品| 97成人精品区在线播放| 亚洲最大的av网站| youjizz.com亚洲| 一级黄色特级片| 农村末发育av片一区二区 | 亚洲女人的天堂| 色婷婷精品大在线视频| 国产精品毛片久久久久久| 欧美天堂在线观看| 日韩三级电影网址| 美女久久久久久久| 国产美女久久久| 亚洲午夜精品福利| 日本三区在线观看| 久久久久久久毛片| 欧美成人一区二区三区四区| 亚洲av电影一区| 久草免费在线视频| 亚洲自拍电影| 亚洲一区二区三区| 国产精品一卡二卡在线观看| 亚洲欧洲三级电影| 欧美一区二区三区日韩视频| 欧美大片在线看免费观看| 日韩欧美一区二区久久婷婷| 俺去亚洲欧洲欧美日韩| 91麻豆精品秘密入口| 精品成在人线av无码免费看| 俄罗斯黄色录像| 日韩网红少妇无码视频香港| 亚洲人成色777777老人头| 国模视频一区| 欧美激情亚洲| 91丨九色丨国产丨porny| 精品视频在线视频| 午夜精品久久久久久久99热浪潮| 免费一区二区三区在在线视频| 九一精品在线观看| 亚洲国产综合久久| 在线观看精品一区二区三区| 国产精品一区二区三区四区在线观看 | 久久久久久夜| 国产精品视频一区二区三区不卡| 精品国产一区二区三区av性色 | 日本不卡高清| 91日韩精品一区| 欧美成人精品二区三区99精品| 青青草原成人在线视频| 永久免费看av| 污污的视频在线免费观看| 国产一二三区在线视频| 精品综合久久88少妇激情| 国产精品主播直播| 欧美一区二区三区婷婷月色| 国产专区欧美专区| 日韩av在线中文| 国产又粗又长又大视频| 欧美电影在线观看网站| 久久er精品视频| 欧美一区二区三区在线观看 | 国产无遮挡在线观看| 99精品老司机免费视频| 日韩欧美高清| 中文字幕欧美一| 欧美日韩国产va另类| 久久这里只有精品23| 亚洲 欧美 中文字幕| 日本精品在线一区| 国产精品一二一区| 亚洲大胆人体在线| 色就是色欧美| 免费在线观看亚洲| 日韩网站中文字幕| 国产在线精品一区二区夜色 | 日本xxxx免费| 免费在线视频一级不卡| 久久久影院免费| 精品久久久久久久中文字幕| 国产精品久久一| 国产ts在线观看| 国产中文在线观看| 激情综合久久| 日韩欧美中文在线| 亚洲美腿欧美激情另类| 中文精品一区二区三区| 久久久久久久久久91| 六九午夜精品视频| 国产黑丝在线一区二区三区| 国产一区二区三区视频在线观看| 国产又爽又黄ai换脸| 日本一区二区三区免费视频| 日本少妇一区| 成人18视频在线播放| 久久久久www| 精品www久久久久奶水| 亚洲视频在线免费播放| 亚洲图区在线| 夜夜嗨av一区二区三区四季av| 日韩免费在线看| 国产极品一区二区| 国产又色又爽又黄刺激在线视频| 麻豆一区二区在线| 亚洲性夜色噜噜噜7777| 日韩精品一区二区三区不卡| 黄色电影免费在线看| 日韩成人一级大片| 亚洲摸下面视频| 亚洲色成人一区二区三区小说| 色欲av伊人久久大香线蕉影院| 亚洲xxx拳头交| 欧美zozo另类异族| www亚洲国产| 亚洲欧美另类综合| 欧美激情综合| 日韩亚洲欧美中文三级| a级片一区二区| 91精品视频免费在线观看 | 欧美日韩在线影院| 奇米视频888战线精品播放| 久久久久久久久久久久久久免费看| 国产美女亚洲精品7777| 亚洲午夜三级在线| 久久波多野结衣| 国产精品无码一区| 欧美hentaied在线观看| 日韩欧美一二三区| 久久亚洲中文字幕无码| 日韩黄色影片| 国内精品伊人久久久久av影院| www国产91| 国产精品第七页| 欧美a一级片| 午夜精品久久一牛影视| 韩国精品一区二区三区六区色诱| 乱h高h女3p含苞待放| 成人h动漫精品一区二区器材| 懂色av中文一区二区三区天美| 日本高清不卡三区| av网站在线免费看| 久久天堂精品| 久久艹在线视频| 国产福利在线观看视频| 日本精品视频| 精品女同一区二区三区在线播放| 在线观看日韩羞羞视频| 午夜国产在线观看| 国产寡妇亲子伦一区二区| 欧美极品少妇xxxxⅹ裸体艺术| 2一3sex性hd| 97久久超碰| 欧美日韩国产精品自在自线| 国产精品一色哟哟| 国产成人在线视频免费观看| ww亚洲ww在线观看国产| 成人h视频在线观看播放| 九九热只有精品| 欧美日韩伊人| 久久亚洲私人国产精品va| 91禁男男在线观看| 亚洲黄色录像| 国产视频精品一区二区三区| 亚洲女人在线观看| 久久久久久久久久久久电影| 欧美日高清视频| 欧美午夜精品理论片| 久久av影院| 91精品国产美女浴室洗澡无遮挡| 男人操女人免费| 亚洲综合在线电影| 欧美日韩一级大片网址| 免费看a级黄色片| 全球中文成人在线| 日韩欧美国产综合| 男人网站在线观看| 要久久爱电视剧全集完整观看| 在线观看国产欧美| 97精品在线播放| 欧美区亚洲区| 欧美国产日韩精品| 色老头一区二区| 热久久一区二区| 国产在线视频不卡| 精品人妻一区二区三区含羞草 | 欧美在线一区二区视频| 国产又粗又猛又爽又黄的视频一| 国产精品一区三区| 神马影院午夜我不卡影院| av网站导航在线观看免费| 欧美日韩性视频| 91 在线视频观看| 国产主播性色av福利精品一区| 亚洲视频视频在线| 久草中文在线视频| eeuss国产一区二区三区| 国产不卡一区二区视频| 99这里只有精品视频| 欧美黑人国产人伦爽爽爽| 99久久精品国产色欲| 亚洲成人www| 久久久视频6r| 韩国女主播成人在线观看| 综合色婷婷一区二区亚洲欧美国产| 欧美午夜网站| 久久精品人人做人人爽| 内射无码专区久久亚洲| 亚洲成人精品影院| 神马久久久久久久久久久| 精品一区二区三区香蕉蜜桃| 日本中文字幕一级片| 91久久精品无嫩草影院| 国内精品久久久久久久| 国产专区在线播放| 欧美日韩成人一区| 欧美一级高潮片| 亚洲国产精品激情在线观看| 在线xxxxx| 亚洲在线成人| av动漫免费观看| 久草在线综合| 成人激情在线观看| 日本片在线观看| 久久久国产一区二区| 一区二区三区黄色片| 色呦呦日韩精品| 一级做a爰片久久毛片| 亚洲午夜在线视频| 国精产品久拍自产在线网站|