亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

設計模式的原則

2019-11-18 12:17:51
字體:
來源:轉載
供稿:網友

  近年來,大家都開始注重設計模式。那么,到底我們為什么要用設計模式呢?這么多設計模式為什么要這么設計呢?說實話,以前我還真沒搞清楚。就是看大家一口一個"Design pattern",心就有點發虛。于是就買了本"四人幫"的設計模式,結果看得似懂非懂:看得時候似乎是懂了,過一會就忘了??赡苁潜救吮容^"愚鈍"吧:))最近,有了點感悟。"獨樂不如眾樂",與大家分享一下,還望指教!
  為什么要提倡"Design Pattern"呢?根本原因是為了代碼復用,增加可維護性。那么怎么才能實現代碼復用呢?OO界有前輩的幾個原則:"開-閉"原則(Open Closed PRincipal)、里氏代換原則、合成復用原則。設計模式就是實現了這些原則,從而達到了代碼復用、增加可維護性的目的。
  
  一、"開-閉"原則
  
  此原則是由"Bertrand Meyer"提出的。原文是:"Software entities should be open for extension,but closed for modification"。就是說模塊應對擴展開放,而對修改關閉。模塊應盡量在不修改原(是"原",指原來的代碼)代碼的情況下進行擴展。那么怎么擴展呢?我們看工廠模式"factory pattern":假設中關村有一個賣盜版盤和毛片的小子,我們給他設計一"光盤銷售治理軟件"。我們應該先設計一"光盤"接口。如圖:
  
  設計模式的原則
  
  而盜版盤和毛片是其子類。小子通過"DiscFactory"來治理這些光盤。代碼為:
  
  public class DiscFactory{  public static 光盤 getDisc(String name){    return (光盤)Class.forName(name).getInstance();  }}
  有人要買盜版盤,怎么實現呢?
  
  public class 小子{  public static void main(String[] args){    光盤 d=DiscFactory.getDisc("盜版盤");    光盤.賣();  }}
  
  假如有一天,這小子良心發現了,開始賣正版軟件。沒關系,我們只要再創建一個"光盤"的子類"正版軟件"就可以了。不需要修改原結構和代碼。怎么樣?對擴展開發,對修改關閉。"開-閉原則"
  工廠模式是對具體產品進行擴展,有的項目可能需要更多的擴展性,要對這個"工廠"也進行擴展,那就成了"抽象工廠模式"。
  
  二、里氏代換原則
  
  里氏代換原則是由"Barbara Liskov"提出的。假如調用的是父類的話,那么換成子類也完全可以運行。比如:
  光盤 d=new 盜版盤();
  d.賣();
  現在要將"盜版盤"類改為"毛片"類,沒問題,完全可以運行。java編譯程序會檢查程序是否符合里氏代換原則。還記得java繼續的一個原則嗎?子類overload方法的訪問權限不能小于父類對應方法的訪問權限。比如"光盤"中的方法"賣"訪問權限是"public",那么"盜版盤"和"毛片"中的"賣"方法就不能是package或private,編譯不能通過。為什么要這樣呢?你想啊:假如"盜版盤"的"賣"方法是private。那么下面這段代碼就不能執行了:
  光盤 d=new 盜版盤();
  d.賣();
  可以說:里氏代換原則是繼續復用的一個基礎。
  
  三、合成復用原則
  
  就是說要少用繼續,多用合成關系來實現。我曾經這樣寫過程序:有幾個類要與數據庫打交道,就寫了一個數據庫操作的類,然后別的跟數據庫打交道的類都繼續這個。結果后來,我修改了數據庫操作類的一個方法,各個類都需要改動。"牽一發而動全身"!面向對象是要把波動限制在盡量小的范圍。
  
  
  在Java中,應盡量針對Interface編程,而非實現類。這樣,更換子類不會影響調用它方法的代碼。要讓各個類盡可能少的跟別人聯系,"不要與生疏人說話"。這樣,城門失火,才不至于殃及池魚。擴展性和維護性才能提高
  
  理解了這些原則,再看設計模式,只是在具體問題上怎么實現這些原則而已。張無忌學太極拳,忘記了所有招式,打倒了"玄冪二老",所謂"心中無招"。設計模式可謂招數,假如先學通了各種模式,又忘掉了所有模式而隨心所欲,可謂OO之最高境界。呵呵,搞笑,搞笑!
  
  這是我的一點心得,大家可能理解得更深刻。還望指教!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品免费av| 亚洲第一区第一页| 国产成人精品久久久| 超碰日本道色综合久久综合| 97视频免费看| 亚洲wwwav| 亚洲国产天堂久久国产91| 国产精自产拍久久久久久| 亚洲综合av影视| 日韩一区二区久久久| 日韩极品精品视频免费观看| 亚洲欧美资源在线| 亚洲精品一区二区久| 久久免费视频这里只有精品| 欧美黄色www| 另类美女黄大片| 欧美日韩另类在线| 26uuu日韩精品一区二区| 日韩av片免费在线观看| 久久精品男人天堂| 欧美极品少妇全裸体| 欧美激情一区二区三区高清视频| 国产精品电影一区| 亚洲精品久久久久久下一站| 久久久久久亚洲精品| 欧美性猛交xxxx富婆弯腰| 欧美成年人视频| 欧美精品videossex性护士| 日韩小视频网址| 国产视频综合在线| 情事1991在线| 中文字幕日韩av综合精品| 亚洲国产成人av在线| 久久久久中文字幕2018| 国产精品一区二区女厕厕| 一区二区三区无码高清视频| 97久久超碰福利国产精品…| 97在线观看视频| 欧美日韩国产精品一区二区不卡中文| 国产亚洲aⅴaaaaaa毛片| 日韩国产高清污视频在线观看| 亚洲第一免费网站| 国产精品免费一区| 国内精品久久久久久中文字幕| 亚洲人成人99网站| 亚洲在线第一页| 一本大道久久加勒比香蕉| 欧美成人性色生活仑片| 这里只有精品在线观看| 国产精品极品美女粉嫩高清在线| 久久久av一区| 欧美电影电视剧在线观看| 日韩av在线免费看| 日韩成人xxxx| 国产亚洲aⅴaaaaaa毛片| 久久久精品在线| 成人精品久久一区二区三区| 欧美午夜视频一区二区| 亚洲黄页视频免费观看| 欧美性受xxxx黑人猛交| 欧美美女15p| 日韩中文在线视频| 精品中文字幕乱| 亚洲精品免费网站| 国产精品av在线| 亚洲欧洲激情在线| 少妇精69xxtheporn| 欧亚精品中文字幕| 久久久久久av| 久久深夜福利免费观看| 91禁国产网站| 91精品啪aⅴ在线观看国产| 2020欧美日韩在线视频| 亚洲欧洲一区二区三区久久| 成人福利网站在线观看11| 日韩av大片免费看| 国产一区二区三区18| 国产精品久久久久免费a∨大胸| 欧洲永久精品大片ww免费漫画| 日本久久久久久久久| 日韩一区二区三区在线播放| 欧美精品少妇videofree| 国产99久久精品一区二区永久免费| 亚洲欧美激情精品一区二区| 久久人人爽人人爽人人片av高清| 97超级碰在线看视频免费在线看| 精品性高朝久久久久久久| 欧美天堂在线观看| 136fldh精品导航福利| 日韩高清不卡av| 亚洲欧美国产va在线影院| 中文字幕无线精品亚洲乱码一区| 欧美放荡办公室videos4k| 国产精品久久久久久久一区探花| 中日韩美女免费视频网址在线观看| 91中文精品字幕在线视频| 在线观看欧美成人| 一区二区欧美激情| 一区二区三区回区在观看免费视频| 日韩欧美高清在线视频| 911国产网站尤物在线观看| 国产精品久久久久久久久粉嫩av| 国模精品一区二区三区色天香| 亚洲视屏在线播放| 国产精品偷伦一区二区| 日韩精品在线观看一区二区| 国产精品美女免费看| 欧美成人国产va精品日本一级| 国产狼人综合免费视频| 在线播放精品一区二区三区| 国产成人av网| 国产精品视频自拍| 国产精品第100页| 中文字幕亚洲欧美日韩高清| 92福利视频午夜1000合集在线观看| 在线观看欧美www| 97国产成人精品视频| 欧美高清自拍一区| 日韩经典一区二区三区| 日韩电视剧在线观看免费网站| 国产精品一区二区三区在线播放| 中文字幕亚洲一区在线观看| 亚洲电影中文字幕| 久久精品在线播放| 欧美国产日韩二区| 久久综合免费视频影院| 国产精品无码专区在线观看| 国产亚洲精品美女| 久久免费视频在线| 欧美日韩高清区| 精品国产一区二区三区四区在线观看| 亚洲伊人第一页| 国产精品美女999| 精品久久久久久久久久久久久久| 亚洲一区中文字幕| 欧美午夜美女看片| 海角国产乱辈乱精品视频| 国产精品自产拍高潮在线观看| 欧美一级淫片videoshd| 精品网站999www| 日韩在线www| 国产日韩欧美在线播放| 日韩免费观看av| 久久精品视频99| 久久精品久久久久久| 国产精品成人品| 国产色综合天天综合网| 国产欧美久久一区二区| 日韩av电影院| 国产精品入口福利| 国产97免费视| 国产精品女主播视频| 亚洲午夜国产成人av电影男同| 国内精品视频一区| 成人欧美一区二区三区黑人孕妇| 日韩av免费在线观看| 欧美精品在线免费播放| 性色av一区二区三区红粉影视| 日本欧美黄网站| 国外成人在线视频| 国产精品久久久久福利| 色综久久综合桃花网| 国产伦精品一区二区三区精品视频| 成人xxxx视频|