- 1、本文档共89页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十二讲设计模式-Read
第十二讲 设计模式 本讲内容 设计模式的概念 简单工厂模式 工厂方法模式 抽象工厂模式 J2EE的具体设计模式 模式(Pattern) 一个围棋下得好的人知道,好的“形”对于围棋非常重要,形是棋子在棋盘上的几何形状的抽象化。 形就是模式(Pattern),也是人脑把握和认识外界的关键。 模式(续) 在大量不同的问题中重复出现的一种性质,它使得可以使用一种方法来描述问题实质并用本质上相同,但细节永不会重复的方法去解决,这种性质就叫模式。 什么是设计模式 设计模式描述了不断重复发生的问题以及该问题的核心解决方案。 模式的核心在于提供了相关问题的可重用解决方案,通过使用该方案解决同样的问题,避免了大量重复劳动。 模式基本要素 模式名称 用来描述模式的词汇,即所要描述问题的较高层次上抽象,恰当的模式名称便于交流设计思想及设计结果。 问题 描述了应该在满足何种先决条件时使用模式以及设计问题和问题存在的前因后果。 模式基本要素(续) 解决方案 描述了设计的组成成分,它们之间的相互关系及各自的职责和协作方式; 模式就像一个模板,解决方案并不描述一个特定而具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合来解决这个问题。 效果 描述了模式应用的效果及使用模式应权衡的问题,对于评价设计选择和理解使用模式的代价具有重要意义,必须包括对系统的灵活性、扩充性或可移植性的复用影响。 成为模式的条件 1、它可以解决问题。模式不能仅仅反映问题,而必 须对问题提出解决方案。 2、它所提出解决方案是正确的,而且不是很明显的。 3、它必须是涉及软件系统深层结构的东西,不能仅是 对已有的模块的描述。 4、它必须满足人的审美,简洁美观。 一个美妙的东西不一定就是模式, 但是一个模式必须是一个美妙的东西。 开创性著作 《Design Patterns – Elements of Reusable Object-Oriented Software》 作者 E.Gamma R. Helm R. Johnson J. Vlissides 四位作者通常被称为四人帮(Gang of Four, 或GoF),带有戏虐成分。 经典的23种模式总浏览 什么是创立性模式 创立性模式(Creational Patterns)是类在实例化时使用的模式。 当一些系统在创立对象时,需要动态地决定怎样创立对象,创立哪些对象。 创立性模式告诉我们怎样构造和包装这些动态的决定。 什么是结构性模式 结构性模式描述类和对象怎样结合在一起成为较大的结构。 结构性模式描述两种不同的东西:类与类的实例。 什么是行为性模式 行为模式涉及到算法和对象职责间的分配。 行为模式不仅是关于类和对象的,而且还描述它们之间的作用。 这些模式刻画了运行时刻难以跟踪的复杂的控制流,它帮助软件设计者在设计软件的时候把注意力从控制流转移到对象间的联系上。 推荐书籍 Java创建对象的方法 所有面向对象的语言都有固定的创立对象的办法。java的办法就是使用new操作符。比如StringBuffer s = new StringBuffer(1000)。 使用new操作符的短处是事先必须明确知道要实例化的类是什么。 实例化的责任往往与使用实例的责任不加区分。 创立性模式 面向对象设计的目的之一,就是把责任进行划分,以分派给不同的对象。 创立性模式把对象的创立过程封装起来,使得创立实例的责任与使用实例的责任分割开来。 由专门的模块分管实例的创立,而不必事先知道每次是要实例化哪一个类,系统在宏观上不再依赖于对象创立过程的细节。 工厂模式 工厂模式就是专门负责将大量有共同接口的类实例化,而且不必事先知道每次是要实例化哪一个类的模式。 工厂模式有以下几种形态: 简单工厂(Simple Factory)模式; 工厂方法(Factory Method)模式;抽象工厂(Abstract Factory)模式。 简单工厂(Simple Factory)模式 比如说,你有一个描述你的后花园的系统,在你的后花园里有各种的花,但还没有水果。你现在要往你的系统里引进一些新的类,用来描述下列的水果: 葡萄 Grapes, 草莓 Strawberry, 萍果 Apple。 简单工厂(Simple Factory)模式(续) 源代码 简单工厂(Simple Factory)模式(续) 作为小花果园的主人兼园丁,也是系统的一部分,自然要由一个合适的类来代表,这个类就是 FruitGardener类
您可能关注的文档
- 第一期专题技术培训-中国荒漠化防治网-国家林业局.PDF
- 第二册第十二课近体诗选国学常识律诗的格律古体诗与.DOC
- 第二册4三角函数的基本概念-广义角的三角函数.PDF
- 第三届全港青少年科技创新大赛-北角官立小学.PPT
- 第二十章氨基酸多肽蛋白质和核酸(6学时).DOC
- 第二批宜居村庄.DOC
- 第二次试验课程-食物中之胆固醇定量.PPT
- 第二主旋回岩浆岩后旋回岩浆岩-脉岩类流纹斑岩蚀变及矿化.PDF
- 第二课散曲选白朴马致远.DOC
- 第二课国民所得的决定:基本凯恩斯模式.DOC
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
最近下载
- 悬挑脚手架、落地脚手架安全专项施工方案.doc VIP
- 分级护理制度精编PPT课件.pptx VIP
- 梁德清体育活动等级量表(PARS-3)及评定标准.doc VIP
- 建筑施工技术(千年土木 小筑拾遗)知到课后答案智慧树章节测试答案2025年春潍坊工程职业学院.docx VIP
- ABB.ACS580替换550指南了解.pdf VIP
- 2025年公需课《人工智能赋能制造业高质量发展》试题及答案.doc VIP
- 建筑施工技术(千年土木 小筑拾遗)智慧树知到期末考试答案章节答案2024年潍坊工程职业学院.docx VIP
- 2023兖矿能源定向委培考试.pdf
- 潮汕工夫茶调研报告.docx VIP
- 生活中的物理问题“生活中的物理”探究.pptx VIP
文档评论(0)