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

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

一些面向對象的設計法則(3)

2019-11-18 11:55:27
字體:
來源:轉載
供稿:網友

  法則3:開放-封閉法則(OCP)
  
  軟件組成實體應該是可擴展的,但是不可修改的。
  
  [ Software Entities Should Be Open For Extension, Yet Closed For Modification
  ]
  
  
  
  
  
  
  
  
  開放-封閉法則
  
  
  
  
  
  
  1.開放-封閉法則認為我們應該試圖去設計出永遠也不需要改變的模塊。
  
  2我們可以添加新代碼來擴展系統的行為。我們不能對已有的代碼進行修改。
  
  3.符合OCP的模塊需滿足兩個標準:
  
  4.可擴展,即"對擴展是開放的"(Open For Extension)-模塊的行為可以被擴展,以需要滿足新的需求。
  
  5.不可更改,即"對更改是封閉的"(Closed for Modification)-模塊的源代碼是不答應進行改動的。
  
  6.我們能如何去做呢?
  
  a.抽象(Abstraction)
  
  b.多態(Polymorphism)
  
  c.繼續(Inheritance)
  
  d.接口(Interface)
  
  
  
  7. 一個軟件系統的所有模塊不可能都滿足OCP,但是我們應該努力最小化這些不滿足OCP的模塊數量。
  
  8.開放-封閉法則是OO設計的真正核心。
  
  9.符合該法則便意味著最高等級的復用性(reusability)和可維護性(maintainability)。
  
  OCP示例
  
  
  1. 考慮下面某類的方法:
  
   一些面向對象的設計法則(3)(圖一)
  
  2.以上函數的工作是在制訂的部件數組中計算各個部件價格的總和。
  
  3.若Part是一個基類或接口且使用了多態,則該類可很輕易地來適應新類型的部件,而不必對其進行修改。
  
  4.其將符合OCP
  
  
  
  5. 但是在計算總價格時,若財務部頒布主板和內存應使用額外費用,則將如何去做。
  
  6.下列的代碼是如何來做的呢?
  
   一些面向對象的設計法則(3)(圖二)
  7.這符合OCP嗎?
  
  8.當每次財務部提出新的計價策略,我們都不得不要修改total  
  9.為了使用我們第一個版本的totalPrice(),我們可以將計價策略合并到Part的getPrice()方法中。
  
  
  
  10.這里是Part和ConcretePart類的示例:
  
   一些面向對象的設計法則(3)(圖三)
  
  11. 但是現在每當計價策略發生改變,我們就必須修改Part的每個子類!
  
  12.一個更好的思路是采用一個PricePolicy類,通過對其進行繼續以提供不同的計價策略:
  
   一些面向對象的設計法則(3)(圖四)
  
  一些面向對象的設計法則(3)(圖五)
  13.看起來我們所做的就是將問題推遲到另一個類中。但是使用該解決方案,我們可通過改變Part對象,在運行期間動態地來設定計價的策略。
  
  14.另一個解決方案是使每個ConcretePart從
數據庫或屬性文件中獲取其當前的價格。
  
  
  
  
  
  
  
  
  
  
  單選法則
  
  
  
  
  
  
  單選法則(the Single Choice Principle)是OCP的一個推論。
  
  無論在什么時候,一個軟件系統必須支持一組備選項,理想情況下,在系統中只能有一個類能夠知道整個的備選項集合。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产精品自拍| 福利一区福利二区微拍刺激| 国外成人在线视频| 亚洲国产高清福利视频| 亚洲伊人久久大香线蕉av| 久久久久久久av| 8x海外华人永久免费日韩内陆视频| 欧美精品在线网站| 情事1991在线| 日韩精品免费综合视频在线播放| 成人国产精品一区二区| 欧美精品在线观看91| 日韩精品久久久久久久玫瑰园| 欧美激情在线观看视频| 亚洲电影免费观看高清完整版| 欧美一级视频在线观看| 庆余年2免费日韩剧观看大牛| 91美女高潮出水| 欧美精品一二区| 7m第一福利500精品视频| 久久伊人色综合| 热久久99这里有精品| 国产欧美一区二区三区久久| 国产69精品99久久久久久宅男| 国产精品影院在线观看| 成人综合国产精品| 国产亚洲成精品久久| 欧美激情亚洲国产| 欧美日韩国产中文精品字幕自在自线| 亚洲欧美中文日韩在线v日本| 欧美日韩激情网| 疯狂做受xxxx高潮欧美日本| 6080yy精品一区二区三区| 欧美肥臀大乳一区二区免费视频| 欧美www视频在线观看| 亚洲精品国产综合久久| 亚洲xxxx妇黄裸体| 欧美电影《睫毛膏》| 韩剧1988在线观看免费完整版| 欧美性xxxxx极品娇小| 九九精品在线视频| 最近中文字幕mv在线一区二区三区四区| 51ⅴ精品国产91久久久久久| 精品国偷自产在线视频99| 亚洲国产精品人人爽夜夜爽| 日韩免费看的电影电视剧大全| 日韩国产欧美精品一区二区三区| 国产精品爽爽爽| 91精品91久久久久久| 日韩高清av一区二区三区| 日韩第一页在线| 亚洲女人天堂视频| 中文字幕国产亚洲| 日韩福利在线播放| 亚洲中国色老太| 久久福利视频导航| 国产精品久久久久久久9999| 亚洲色图综合网| 超碰精品一区二区三区乱码| 性色av一区二区三区红粉影视| 久久欧美在线电影| 日本精品一区二区三区在线播放视频| 亚洲国产成人久久综合一区| 性欧美长视频免费观看不卡| 精品久久久香蕉免费精品视频| 欧美日韩国产激情| 亚洲国产欧美日韩精品| 91精品免费久久久久久久久| 26uuu另类亚洲欧美日本老年| 精品国产1区2区| 成人激情视频在线观看| 欧美一区二三区| 精品久久久久久亚洲精品| 欧美日韩国产丝袜美女| 国内精品久久久| 91精品久久久久久久久久久久久久| 日韩电影第一页| 亚洲精品欧美日韩| 91亚洲精华国产精华| 国产精品国产亚洲伊人久久| 日韩大陆欧美高清视频区| 久久久免费观看视频| 丝袜美腿亚洲一区二区| 久久久久久这里只有精品| 欧美洲成人男女午夜视频| 狠狠干狠狠久久| 国产一区二区三区高清在线观看| 国产精品亚洲视频在线观看| 欧美精品一本久久男人的天堂| 国产欧美va欧美va香蕉在| 亚洲网站在线看| 久久久久久欧美| 9.1国产丝袜在线观看| 黄色成人在线播放| 91中文在线观看| 亚洲男人天堂视频| 久热精品在线视频| 91精品国产99久久久久久| 综合136福利视频在线| 国产精品久久一区| 久久精品亚洲94久久精品| 国外成人在线播放| 国产精品青青在线观看爽香蕉| 国产精品精品久久久| 狠狠躁夜夜躁久久躁别揉| 亚洲品质视频自拍网| 98视频在线噜噜噜国产| 欧美亚洲成人网| 欧美大片欧美激情性色a∨久久| 久久久久日韩精品久久久男男| 亚洲高清在线观看| 亚洲综合精品伊人久久| 欧美另类69精品久久久久9999| 欧美洲成人男女午夜视频| 国产成人在线一区二区| 成人激情电影一区二区| 欧美中文字幕精品| 久久国产精品久久久| 在线播放精品一区二区三区| www.日韩不卡电影av| 亚洲黄色成人网| 国产综合久久久久久| 久久久久国产精品免费网站| 亚洲人成欧美中文字幕| 成人h视频在线| 欧美在线观看日本一区| 国产亚洲福利一区| 国产97色在线|日韩| 亚洲精品videossex少妇| 精品一区二区亚洲| 综合国产在线观看| 久久久久久亚洲精品中文字幕| 国产精品成久久久久三级| 国产成人精品av| 超薄丝袜一区二区| 亚洲最大成人在线| 日韩精品在线观看网站| 日韩视频免费大全中文字幕| 国产97色在线|日韩| 国产精品白丝jk喷水视频一区| 亚洲精品日韩在线| 97精品视频在线观看| 午夜精品免费视频| 这里只有视频精品| 国产精品影片在线观看| 日本国产一区二区三区| 日韩av一卡二卡| 国内精品国产三级国产在线专| 久久男人av资源网站| 深夜精品寂寞黄网站在线观看| 亚洲欧美另类中文字幕| 久久手机精品视频| 欧美激情一区二区三区在线视频观看| 国产成人久久久精品一区| 国产精品视频一区二区高潮| 91精品国产99| 日日狠狠久久偷偷四色综合免费| 亚洲女人被黑人巨大进入al| 秋霞成人午夜鲁丝一区二区三区| 亚洲福利在线观看| 日本一区二区不卡| 亚洲精品福利在线观看| 成人福利免费观看| 福利视频一区二区|