- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GoF的DesignPatterns范例实作IntroductionandImplementation
Design Patterns簡介 前言 物件導向的程式設計在提升軟體系統的可維護性和可複用性。 學習和應用設計模式可理解物件導向的設計理念, 並改善自己的系統設計。 GoF的23個設計模式 GoF的Design Patterns總結了23個基本設計模式,可說是Design Patterns的聖經,但學術性較強。 我們希望能以簡單的方式來重新闡述GoF的23種設計模式,並配合自行開發的Java程式範例,讓初學者容易了解其涵義。 程式設計的目標 可擴充性 新的系統功能可以很容易地加入系統中。 靈活性 程式碼的修改,不會影響到其他的程式模組。 可插入性 可輕易地更換具有相同介面的類別。 物件導向的設計原則 開放-封閉原則(Open-Closed Principle,OCP) Liskov代換原則(The Liskov Substitution Principle,LSP) 依賴倒轉原則(The Dependency Inversion Principle,DIP) Demeter法則(Law of Demeter,LoD) 介面隔離原則(Interface Segregation Principle,ISP) 合成/聚合複用原則(Composite/Aggregate Reuse Principle,CARP) 設計原則與目標的關係 開放-封閉原則、Liskov代換原則、依賴倒轉原則及合成/聚合複用原則提升系統的可擴充性。 開放-封閉原則、Demeter法則及介面隔離原則提升系統的靈活性。 開放-封閉原則、Liskov代換原則、依賴倒轉原則及合成/聚合複用原則提升系統的可插入性。 設計模式與原則的關係 設計模式是學習物件導向設計原則的具體指導。 設計模式並不能確保系統的可維護性及可複用性。 學習設計模式可提升系統設計的複用性及可維護性。 GoF的設計模式 Structural Patterns(結構型模式) 在討論如何組合類別和物件成更大的結構。 Creational Patterns(創建型模式) 在討論物件的建立程序,使系統能動態地決定物件的建立,及如何有效率地建立、組成及管理這些物件。 Behavioral Patterns(行為模式) 旨在探討物件之間的行為互動及分配,良好的行為互動,使程式的執行更有效率,物件的調度更有彈性。 Structural Patterns Adapter Pattern(轉換器模式) Bridge Pattern(橋樑模式) Composite Pattern (合成模式) Decorator Pattern(裝飾模式) Fa?ade Pattern(單一窗口模式) Flyweight Pattern(物件共享模式) Proxy Pattern(代理模式) Structural Patterns-Adapter Pattern 設計程式時,利用既有的類別介面來完成想要的功能介面,這就是Adapter(轉換器)Pattern。實作Adapter Pattern方法分成類別(繼承)和物件(委讓)兩種形式。 Adapter Pattern-使用時機 利用既有、好用的類別,將其重新包裝建立符合系統需求的介面。 想建立一個可再使用的類別,用於不相干或尚未引進的類別。 物件的Adapter Pattern採用物件個體委讓方式,使得系統在執行時可動態靈活地切換成不同物件個體。 Adapter Pattern-靜態關係 類別的Adapter Pattern Adapter Pattern-靜態關係 物件的Adapter Pattern Adapter Pattern-範例實作 Adapter Pattern-範例實作執行結果 程式將產生ofile.txt檔,並將以下資料存檔 1.Char: 字 2.int: 2147483647 3.float: 3.4028235E38 4.double: 1.7976931348623157E308 程式將把ofile.txt檔的資料讀出如下: 1.Char: 字 2.int: 2147483647 3.float: 3.4028235E38 4.double: 1.7976931348623157E308 Behavioral Patterns Chain of Responsibility Pattern(責任鏈模式) Command Pattern(命令模式) Interpreter Pattern(直譯器模式) Mediator Pattern(調停者模式) Memento Pattern(備忘錄模式) Observer Pattern(觀察者模式)
您可能关注的文档
最近下载
- 寻甸基础资料汇编.docx
- 钟俊良述 职 述廉 报 告.doc VIP
- 钻井液用纳米二氧化硅封堵剂的制备与性能评价-褚奇.pdf VIP
- 人教版英语八年级上册完型填空(15空)+阅读填表专项训练一(含详解).pdf VIP
- QCR 278-2015 机车空调装置.pdf
- 广东省广州市海珠区2023-2024学年高一上学期期末考试语文试题.doc VIP
- 防汛抢险方案.docx VIP
- 2020-2021某大学《现代仪器分析》期末课程考试试卷(含答案).doc
- T_CMES 26009—2021八月瓜鲜果皮肉籽分离技术规范.pdf VIP
- 钳工技能考试:高级车辆钳工(货车)考试考点巩固(强化练习).docx VIP
文档评论(0)