国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
設(shè)計模式基本思想

好的系統(tǒng)設(shè)計追求如下特性:

  •   可擴展性(Extensibility):新的功能或特性很容易加入到系統(tǒng)中來;
  •   靈活性(Flexibility):可以允許代碼修改平穩(wěn)發(fā)生,對一處的修改不會波及到很多其他模塊;
  •   可插入性(Pluggability):可以很容易地將一個類或組件抽出去,同時將另一個有相同接口的類/接口加入進來。

   具有如上特性的系統(tǒng)才有真正的可維護性和可復(fù)用性。而可維護性和可復(fù)用性對一個持續(xù)接入新需求,現(xiàn)有功能逐步完善,新功能不斷豐富,版本不會終止的大型軟件產(chǎn)品來說至關(guān)重要。

   傳統(tǒng)的復(fù)用包括:代碼的copy復(fù)用,算法的復(fù)用,數(shù)據(jù)結(jié)構(gòu)的復(fù)用。

   在面向?qū)ο箢I(lǐng)域,數(shù)據(jù)的抽象化、封裝、繼承和多態(tài)性是幾項最重要的語言特性,這些特性使得一個系統(tǒng)可以在更高的層次上提供可復(fù)用性。數(shù)據(jù)的抽象化和繼承關(guān)系使得概念和定義可以復(fù)用;多態(tài)性使得實現(xiàn)和應(yīng)用可以復(fù)用;而抽象化和封裝可以保持和促進系統(tǒng)的可維護性。這樣,復(fù)用的焦點不再集中在函數(shù)和算法等具體實現(xiàn)細節(jié)上,而是集中在最重要的宏觀的業(yè)務(wù)邏輯的抽象層次上。復(fù)用焦點的倒轉(zhuǎn)不是因為實現(xiàn)細節(jié)的復(fù)用不再重要,而是因為這些細節(jié)上的復(fù)用往往已經(jīng)做的很好(例如,很容易找到并應(yīng)用成熟的數(shù)據(jù)結(jié)構(gòu)類庫等),而真正沖擊系統(tǒng)的是其要實現(xiàn)業(yè)務(wù)的千變?nèi)f化。

   本質(zhì)上說,如果說一個軟件的需求是永不變更或發(fā)展的,該軟件也就不需要任何設(shè)計,怎么編碼實現(xiàn)都行,只要需求滿足,性能達標。但事實上,軟件的本性就是不斷增強,不斷擴展,不斷變化的。我們可以控制指尖流淌出的每行代碼,但控制不了奉為上帝的用戶的需求。編碼結(jié)束,測試通過,用戶在使用過程中才發(fā)現(xiàn)原來的需求有問題,要變更需要或提出新需求,怎么辦?向用戶抗議:需求總在變,沒法做!?平抑心中的抱怨,加班加點大量的修改代碼,瘋狂的測試,依然是時間緊迫,心中沒底?抑或了然于胸:這個變更或新需求合理,系統(tǒng)很方便納入;于是坦然地和用戶協(xié)商下一個交付時間點?

   要使系統(tǒng)最大程度的適應(yīng)需求的變更或新增,就必須在其要實現(xiàn)的宏觀業(yè)務(wù)邏輯的抽象復(fù)用上下功夫。而設(shè)計模式就是綜合運用面向?qū)ο蠹夹g(shù)和特性來提高業(yè)務(wù)邏輯可復(fù)用性的常用方法和經(jīng)驗的提取和匯總。掌握23種設(shè)計模式的關(guān)鍵是理解它們的共通目的:使所設(shè)計的軟件系統(tǒng)在一般或特定(系統(tǒng)將來在特定點上需要擴展的可能性大)場景下,盡可能的對擴展開放,對修改關(guān)閉。即面對新需求或需求變更,容易開發(fā)獨立于既有代碼的新代碼接入到現(xiàn)有系統(tǒng)或?qū)ΜF(xiàn)有代碼做可控的少量修改,而不是在現(xiàn)有代碼基礎(chǔ)上做大量的增、刪、改。為了這一目的,23種設(shè)計模式貫穿了面向?qū)ο缶幊痰幕驹瓌t:

  •    面向接口或抽象編程,而不是面向?qū)崿F(xiàn)編程。
  •    一個對象應(yīng)當對其他對象有盡可能少的了解,即松耦合。
  •    純粹的功能復(fù)用時,盡量不要使用繼承,而是使用組合。使已有的對象成為新對象的一部分;新的對象通過向這些對象的委派達到復(fù)用已有功能的目的。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
架構(gòu)之路(一):目標
系統(tǒng)設(shè)計的一些原則
面向?qū)ο笤O(shè)計原則概述
面向?qū)ο笤O(shè)計7大原則
這么糟糕的代碼,真的是我以前寫的嗎?
"設(shè)計模式我學(xué)過呀,就是沒用過"
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服