电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

j2ee中最常用设计模式--精选文档

4页
  • 卖家[上传人]:鲁**
  • 文档编号:496184416
  • 上传时间:2023-04-06
  • 文档格式:DOC
  • 文档大小:22KB
  • / 4 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、创建型模式:1. Factory Pattern 工厂模式概述:定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。适用性: 1.当一个类不知道它所必须创建的对象的类的时候。2.当一个类希望由它的子类来指定它所创建的对象的时候。3.当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。类图:2. Singleton Pattern 单例模式概述:保证一个类仅有一个实例,并提供一个访问它的全局访问点。适用性:1.当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。2.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。类图:结构型模式:3. Faade Pattern 外观模式概述:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。适用性: 1.当你要为一个复杂子系统提供一个简单接口时。子系统往往因为不断演化而变得越来越复杂。大多数模式使用时都会产生更多更小的类。这使得子

      2、系统更具可重用性,也更容易对子系统进行定制,但这也给那些不需要定制子系统的用户带来一些使用上的困难。Facade可以提供一个简单的缺省视图,这一视图对大多数用户来说已经足够,而那些需要更多的可定制性的用户可以越过facade层。2.客户程序与抽象类的实现部分之间存在着很大的依赖性。引入facade将这个子系统与客户以及其他的子系统分离,可以提高子系统的独立性和可移植性。3.当你需要构建一个层次结构的子系统时,使用facade模式定义子系统中每层的入口点。如果子系统之间是相互依赖的,你可以让它们仅通过facade进行通讯,从而简化了它们之间的依赖关系。类图:4. Adapter Pattern 适配器模式概述:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适用性:1.你想使用一个已经存在的类,而它的接口不符合你的需求。2.你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。3.(仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行子类

      3、化以匹配它们的接口。对象适配器可以适配它的父类接口。类图:5. Bridge Pattern 桥接模式概述:将抽象部分与它的实现部分分离,使它们都可以独立地变化。适用性:1.你不希望在抽象和它的实现部分之间有一个固定的绑定关系。例如这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。2.类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这时Bridge模式使你可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充。3.对一个抽象的实现部分的修改应对客户不产生影响,即客户的代码不必重新编译。4.正如在意图一节的第一个类图中所示的那样,有许多类要生成。这样一种类层次结构说明你必须将一个对象分解成两个部分。5.你想在多个对象间共享实现(可能使用引用计数),但同时要求客户并不知道这一点。类图:6. Proxy Pattern 代理模式概述:为其他对象提供一种代理以控制对这个对象的访问。适用性:1.远程代理(RemoteProxy)为一个对象在不同的地址空间提供局部代表。2.虚代理(VirtualProxy)根据需要创建开销很大的对象。3.保护代理(Protection

      4、Proxy)控制对原始对象的访问。4.智能指引(SmartReference)取代了简单的指针,它在访问对象时执行一些附加操作。类图:行为型模式:7. Command Pattern 命令模式概述:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。适用性:1.抽象出待执行的动作以参数化某对象。2.在不同的时刻指定、排列和执行请求。3.支持取消操作。4.支持修改日志,这样当系统崩溃时,这些修改可以被重做一遍。5.用构建在原语操作上的高层操作构造一个系统。类图:8. Strategy Pattern 策略模式概述:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。适用性:1.许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法。2.需要使用一个算法的不同变体。3.算法使用客户不应该知道的数据。可使用策略模式以避免暴露复杂的、与算法相关的数据结构。4.一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式出现。将相关的条件分支

      5、移入它们各自的Strategy类中以代替这些条件语句。类图:9. Iterator Pattern 迭代器模式概述:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。适用性:1.访问一个聚合对象的内容而无需暴露它的内部表示。2.支持对聚合对象的多种遍历。3.为遍历不同的聚合结构提供一个统一的接口(即,支持多态迭代)。类图:10. Observer Pattern 观察者模式概述:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。适用性:1.当一个抽象模型有两个方面,其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。2.当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变。3.当一个对象必须通知其它对象,而它又不能假定其它对象是谁。类图:补充:装饰模式概述:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。适用性:1.在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。2.处理那些可以撤消的职责。3.当不能采用生成子类的方法进行扩充时。类图:模板方法概述:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。适用性:1.一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。2.各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。首先识别现有代码中的不同之处,并且将不同之处分离为新的操作。最后,用一个调用这些新的操作的模板方法来替换这些不同的代码。3.控制子类扩展。

      《j2ee中最常用设计模式--精选文档》由会员鲁**分享,可在线阅读,更多相关《j2ee中最常用设计模式--精选文档》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.