- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
*軟體工程7.協作當ConcreteSubject發生任何可能導致其觀察者與其本身狀態不一致的改變時,它將通知各個觀察者。在得到一個具體主題的改變通知後,Concrete-Observer對象可向主題對象查詢資訊。ConcreteObserver使用這些資訊以使它的狀態與主題對象的狀態一致。右邊交互圖說明瞭一個目標對象和兩個觀察者之間的協作:*軟體工程8.效果Observer模式允許獨立的改變主題和觀察者,也可以單獨複用目標對象而無需同時複用其觀察者,反之亦然。它也可以在不改動目標和其他觀察者的前提下增加觀察者。*下麵是觀察者模式其他一些優缺點:1)主題和觀察者間具有最小的耦合。一個主題所知道的僅僅是它有一系列觀察者,每個都符合抽象的Observer類的簡單介面。主題不知道任何一個觀察者屬於哪一個具體的類。2)主題發送的通知不需指定它的接收者。支持廣播通信不像通常的請求,通知被自動廣播給所有已向該主題對象登記的有關對象。是處理還是忽略一個通知取決於觀察者。軟體工程*軟體工程3)意外更新由於不知道其他觀察者的存在,一個觀察者的更新可能對改變目標的最終代價一無所知。在目標上一個看似無害的操作可能會引起一系列對觀察者及依賴於這些觀察者的那些對象的更新。此外,如果依賴準則的定義或維護不當,常常會引起錯誤的更新,這種錯誤通常很難捕捉。*簡單的更新協議不提供具體細節說明目標中什麼被改變了,這就使得上述問題更加嚴重。如果沒有其他協議幫助觀察者發現什麼發生了改變,它們可能會被迫盡力減少改變。軟體工程*軟體工程最後給出23個設計模式之間的關係。*軟體工程第六章面向對象開發中的設計模式6.1設計模式概述6.2四種設計模式6.3設計模式編目6.4設計模式選擇及使用共有23個設計模式可供使用,但要從中選擇一個針對特定設計問題的模式還是很困難的。可以利用選擇設計模式的方法來幫助選擇。設計模式不能隨意使用。一旦選擇了一個設計模式,如何使用呢?6.4設計模式選擇及使用*軟體工程考慮設計模式是怎樣解決設計問題的對設計模式的討論,能幫助找到合適的對象、決定對象的粒度、指定對象介面以及設計模式解決設計問題的幾個其他方法。流覽模式的意圖部分通讀每個模式的意圖,找出和問題相關的一個或多個模式。可以使用前表所顯示的分類方法縮小搜查範圍。選擇設計模式的方法:*軟體工程研究模式怎樣互相關聯前圖以圖形方式顯示了設計模式間的關係。研究這些關係能獲得合適的模式或模式組。研究目的相似的模式通過比較和對照,能夠洞察具有相似目的的模式之間的共同點和不同點。*軟體工程檢查重新設計的原因找出哪些模式可以幫助你避免這些會導致重新設計的因素。考慮設計中哪些是可變的表17-2列出了設計模式允許獨立變化的方面,可以改變它們而又不會導致重新設計。*軟體工程1)大致流覽,特別關注適用性和效果部分,確定是否適合問題。2)回頭研究結構、參與者和協作部分,關注類和對象以及它們是怎樣關聯的。3)看代碼示例部分,看該模式代碼形式的具體例子。使用設計模式的方法*4)選擇參與者的名字,名字通常較抽象而不直接出現在應用中。一般將參與者的名字和應用中出現的名字合併起來。如,在文本組合演算法中用了Strategy模式,那麼可能有名為SimpleLayoutStrategy或TextLayoutStrategy的類。5)定義類聲明介面,建立繼承關係,定義代表數據和對象引用的實例變數。軟體工程*軟體工程6)定義操作名稱。名稱一般依賴於應用。例如,可以使用“Create-”首碼統一標記Factory方法。7)實現執行模式中責任和協作的操作。實現部分提供線索指導進行實現。設計模式不能隨意使用。通常通過引入額外的間接層次獲得靈活性和可變性的同時,也使設計變得更複雜並/或犧牲了一定的性能。一個設計模式只有當它提供的靈活性是真正需要的時候,才有必要使用。*軟體工程以Observer模型為例介紹其代碼示例(時鐘)(參考書:P194)。ClockTimer是一個用於存儲和維護一天時間的具體主題。它每秒鐘通知一次它的觀察者。ClockTimer提供了一個介面用於取出單個的時間單位,如小時、分鐘和秒。*軟體工程用一個抽象類定義Observer介面:classSubject;classObserver{p
您可能关注的文档
最近下载
- 学前儿童社会教育活动指导-国家开放大学电大易考通考试题目答案.pdf VIP
- 电动机维护保养表.pdf VIP
- 2026年日历表一页打印.pdf VIP
- 2025年内蒙古自治区高职单招职业技能考试模拟试题及答案解析.docx VIP
- 语文八年级上册古诗文知识点归纳整理总汇.doc VIP
- 新与心,2025大食饮行业消费者心智及决策链路研究白皮书.docx VIP
- 医学科研论文写作指南(临床研究版).docx VIP
- 断路器出厂检验报告模板.docx VIP
- Boss Roland逻兰GX-100 吉他效果处理器[中文] GX-100 参数指南 说明书用户手册.pdf
- 国家开放大学,期末考试参考资料学前儿童社会教育活动指导+学前儿童社会教育.docx VIP
原创力文档


文档评论(0)