当前位置: 首页 > news >正文 珠海免费建站wordpress app 打包 news 2025/10/22 10:11:33 珠海免费建站,wordpress app 打包,免费php源码资源网,学影视后期去哪培训好一、前言 java设计模式主要分为创建型模式#xff0c;结构型模式和行为型模式。上一篇主要总结了行为型设计模式#xff0c;本章总结#xff0c;结构型模式。像创建型模式就不写了#xff0c;比较简单。大概知道是工厂模式和建造者模式#xff0c;原型模式就行#xff0…一、前言 java设计模式主要分为创建型模式结构型模式和行为型模式。上一篇主要总结了行为型设计模式本章总结结构型模式。像创建型模式就不写了比较简单。大概知道是工厂模式和建造者模式原型模式就行大家都懂项目中运用非常广泛。本节只总结结构型模式。 二、java设计模式结构型模式主要摘自知乎朱鸭鸭的博文 结构模型适配器模型、桥接模型、过滤器模型、组合模型、装饰器模型、外观模型、享受元模型和代理模型。 1、适配器模式 问题 当你有两个不兼容的接口即类或对象但需要它们能够一起工作时适配器模式可以解决这个问题。例如你可能有一个已存在的类库或组件但其接口与你的代码不匹配你希望能够无缝地将它们集成在一起。 解决方案 适配器模式通过引入一个适配器类来充当中间人将一个接口转换成另一个接口使得两个不兼容的对象能够协同工作。适配器类包含一个对不兼容接口的引用并实现了你期望的目标接口。这样当你需要使用目标接口的时候可以通过适配器来调用原本不兼容的类的方法。 效果 适配器模式的应用可以使得现有的代码与新代码能够无缝协同工作从而提高了代码的可重用性。它允许你将不同系统、库或组件整合在一起而无需对现有代码进行大量修改。然而适配器模式也可能引入一些复杂性因为你需要维护适配器类和处理不同接口之间的映射关系。 总的来说适配器模式是一种很有用的模式特别适合在集成不同组件或类时解决接口不匹配的问题从而保持代码的灵活性和可维护性。 总结一句话就是对内封装对外提供接口。 2、桥接模式 问题 在软件设计中有时候你会遇到一个类有多个变化维度例如抽象和具体的实现。如果使用继承来处理这些变化将会导致类层次结构的急剧增加难以管理和维护。此外继承会将抽象部分和具体部分紧密耦合不利于独立地进行扩展和变化。 解决方案 桥接模式通过将抽象部分和具体部分分离使它们可以独立地变化。在桥接模式中通过创建一个桥接接口或抽象类其中包含一个指向具体实现的引用将抽象部分和具体部分连接起来。这样抽象部分和具体部分可以独立地进行扩展而不会相互影响。这种方式也被称为“组合优于继承”。 效果 桥接模式的应用能够提供更好的灵活性和可扩展性。它允许抽象部分和具体部分独立变化避免了类层次结构的爆炸式增长。这样可以更容易地添加新的抽象部分和具体部分而不会影响到彼此。然而使用桥接模式可能会引入一些复杂性因为你需要管理更多的类和对象。 总之桥接模式是一种有助于解耦抽象和实现提供更灵活、可扩展设计的设计模式。它适用于那些需要处理多个变化维度的情况同时又希望保持代码的清晰结构和可维护性。 总结一句话其实就是将抽象和具体进行分离才有组合模式扩展类功能。 3、过滤器模式 过滤器模式Filter Pattern又称标准模式Criteria Pattern是一种设计模式属于结构型模式。这种模式允许开发人员使用不同的标准来过滤一组对象通过运算逻辑以解耦的方式将它们连接起来。过滤器模式可结合多个标准来获得单一标准。说白了就是按条件筛选一组对象出来。 过滤器模式的实现 过滤器模式角色 抽象过滤器角色AbstractFilter负责定义过滤器的实现接口具体的实现还要具体过滤器角色去参与客户端可以调用抽象过滤器角色中定义好的方法将客户端的所有请求委派到具体的实现类去从而让实现类去处理 具体过滤器角色ConcreteFilter该角色负责具体筛选规则的逻辑实现最后再返回一个过滤后的数据集合标准的过滤器只对数据做过滤当然也可以对集合中的数据做某项处理再将处理后的集合返回 被过滤的主体角色Subject一个软件系统中可以有一个或多个目标角色在具体过滤器角色中会对指定感兴趣的目标进行处理以确保后面的数据确实是我想要的。 文为博主原创文章遵循 CC 4.0 BY-SA 版权协议转载请附上原文出处链接和本声明。 4、组合模式 问题 在某些情况下我们需要处理一组对象这些对象之间具有整体-部分的关系。我们希望能够以一致的方式处理单个对象和对象组合而不需要对它们进行特殊处理。 解决方案 组合模式的解决方案是将对象组合成树状结构其中树的节点可以是单个对象或对象组合。这样无论是操作单个对象还是对象组合都可以使用统一的方式进行操作。组合模式通过定义一个共同的抽象类或接口来表示单个对象和对象组合从而实现了透明的处理。 在组合模式中通常有两种主要角色 组件Component 这是一个抽象类或接口定义了单个对象和对象组合共同的操作。它可以有一些默认实现也可以有抽象方法需要在具体子类中实现。叶子Leaf 继承自组件表示单个对象。它没有子对象。复合Composite 继承自组件表示对象组合。它包含了一组子对象这些子对象可以是叶子也可以是复合。 5.装饰模式 问题 在某些情况下我们需要在不修改现有对象结构的情况下动态地添加功能或责任。继承在这种情况下可能会导致类爆炸问题而且修改现有类可能会影响到其他部分的代码。 解决方案 装饰模式提供了一种在运行时动态地为对象添加新功能的方法通过创建一个装饰类来包装原始类。装饰类具有与原始类相同的接口它内部包含一个指向原始对象的引用并且可以根据需要包装额外的功能。这样你可以通过组合不同的装饰类来构建出具有不同功能组合的对象。 效果 装饰模式的优点包括避免了类爆炸问题因为你可以通过组合少量的装饰类来实现各种功能组合。它也使得功能的增加和修改更加灵活不会影响到其他部分的代码。然而装饰模式可能会导致增加很多小型的类从而增加了代码的复杂性。 在装饰模式中通常涉及以下角色 组件Component定义了一个抽象的接口可以是具体对象或装饰器所共有的接口。具体组件Concrete Component实现了组件接口是被装饰的原始对象。装饰器Decorator持有一个指向组件对象的引用并实现了组件的接口。它可以包含额外的功能也可以将请求传递给组件对象。具体装饰器Concrete Decorator扩展了装饰器类通过添加额外的功能来装饰具体组件。 6、外观模式 问题 在软件开发中系统可能变得非常复杂包含多个子系统和各种交互。这些子系统之间的依赖关系和调用可能变得混乱导致系统难以理解、扩展和维护。在这种情况下我们需要一种方法来提供一个简单的接口将复杂的子系统调用和依赖关系进行封装使客户端能够更轻松地与系统进行交互。 解决方案 外观模式通过引入一个外观类Facade将复杂的子系统接口进行封装为客户端提供一个简单的高层接口。外观类充当了客户端与子系统之间的中间人处理客户端的请求并将其转发给适当的子系统。外观模式并不在系统中添加新功能它只是提供了一个更简洁的接口以简化客户端的操作。 效果 外观模式的应用可以带来以下效果 简化接口客户端只需要与外观类交互无需了解底层子系统的复杂性。降低耦合外观模式将客户端与子系统解耦使得系统的变化不会影响客户端代码。提高可维护性由于外观模式将子系统封装起来修改子系统的实现不会影响客户端代码从而提高了系统的可维护性。支持松散耦合外观模式可以帮助系统中的不同模块之间实现松散耦合从而支持模块的独立开发和测试。 总之外观模式通过提供一个简化的接口将复杂的子系统封装起来帮助提高系统的可用性、可维护性和灵活性。它在处理复杂系统的同时使客户端代码更加清晰和易于理解。 7、享元模式 问题 在某些情况下一个应用程序可能需要大量相似对象而这些对象的大部分属性是相同的。在这种情况下创建大量相似对象会占用大量的内存和系统资源导致系统性能下降。 解决方案 享元模式的解决方案是共享对象的状态以减少内存和资源的消耗。它将对象分为两部分内部状态Intrinsic State和外部状态Extrinsic State。内部状态是对象共享的部分而外部状态是每个对象特有的部分。 享元模式通过一个享元工厂Flyweight Factory来管理和创建共享对象。当需要一个对象时工厂会检查是否已经有相同内部状态的对象存在如果存在则返回已有的对象否则创建一个新的对象并将其添加到内部对象池中。 效果 优点享元模式可以显著减少内存消耗因为共享对象的内部状态只有一份。这可以在需要大量相似对象的情况下节省内存。同时由于共享对象已经存在于池中创建时间和性能开销也会降低。权衡享元模式引入了内部状态和外部状态的区分这可能增加了系统的复杂性。此外对内部状态的共享需要考虑线程安全性。限制享元模式适用于对象的内部状态相对稳定而外部状态会变化的情况。如果一个对象的状态完全相同那么不需要使用享元模式。可能的后果通过减少对象的创建和内存占用系统性能可能会得到提升。但在一些情况下过度使用享元模式可能会引入不必要的复杂性因此需要根据具体情况进行权衡。 享元模式在需要大量相似对象的场景中非常有用例如文字处理软件中的字符对象、图像处理软件中的像素对象等。它可以显著提高系统的性能和资源利用率。 8、代理模式 问题 在某些情况下我们希望通过一个中间代理来控制对某个对象的访问。这可能是因为原始对象的创建或访问涉及复杂的逻辑或者我们想要在访问原始对象之前或之后执行一些操作。 解决方案 代理模式提供了一个代理对象它充当了原始对象的替代品以控制对原始对象的访问。代理对象与原始对象实现相同的接口使得客户端可以无缝地切换和使用。代理对象可以对客户端的请求进行拦截、修改或增强然后将请求传递给原始对象。 效果 代理模式的应用可以带来多种效果 远程代理Remote Proxy 代理对象可以隐藏原始对象存在于远程服务器上的事实使得客户端可以透明地访问远程对象。这对于分布式系统非常有用。虚拟代理Virtual Proxy 当创建原始对象需要大量资源时代理对象可以充当一个轻量级的替代品延迟原始对象的实际创建和初始化从而提高性能。保护代理Protection Proxy 代理对象可以控制对原始对象的访问权限确保只有具有特定权限的客户端可以访问原始对象。缓存代理Cache Proxy 代理对象可以缓存原始对象的结果以便在后续相同请求时能够直接返回缓存的结果减少重复计算。日志记录代理Logging Proxy 代理对象可以在访问原始对象之前或之后记录日志用于调试、监控或审计。 总之代理模式允许我们在不改变原始对象的情况下通过引入代理对象来添加额外的控制和功能。这有助于提高代码的可维护性、可扩展性和灵活性。 文章转载自: http://www.morning.gcjhh.cn.gov.cn.gcjhh.cn http://www.morning.ppgdp.cn.gov.cn.ppgdp.cn http://www.morning.xqjrg.cn.gov.cn.xqjrg.cn http://www.morning.kaweilu.com.gov.cn.kaweilu.com http://www.morning.qstjr.cn.gov.cn.qstjr.cn http://www.morning.zxhhy.cn.gov.cn.zxhhy.cn http://www.morning.jcnmy.cn.gov.cn.jcnmy.cn http://www.morning.wdqhg.cn.gov.cn.wdqhg.cn http://www.morning.qsy39.cn.gov.cn.qsy39.cn http://www.morning.bpmtz.cn.gov.cn.bpmtz.cn http://www.morning.bpmtx.cn.gov.cn.bpmtx.cn http://www.morning.yrdn.cn.gov.cn.yrdn.cn http://www.morning.guangda11.cn.gov.cn.guangda11.cn http://www.morning.ljsxg.cn.gov.cn.ljsxg.cn http://www.morning.yqzyp.cn.gov.cn.yqzyp.cn http://www.morning.xwbld.cn.gov.cn.xwbld.cn http://www.morning.kndt.cn.gov.cn.kndt.cn http://www.morning.rhpgk.cn.gov.cn.rhpgk.cn http://www.morning.jjzxn.cn.gov.cn.jjzxn.cn http://www.morning.nj-ruike.cn.gov.cn.nj-ruike.cn http://www.morning.rmqmc.cn.gov.cn.rmqmc.cn http://www.morning.jtfcd.cn.gov.cn.jtfcd.cn http://www.morning.zjrnq.cn.gov.cn.zjrnq.cn http://www.morning.kqqk.cn.gov.cn.kqqk.cn http://www.morning.wkknm.cn.gov.cn.wkknm.cn http://www.morning.pggkr.cn.gov.cn.pggkr.cn http://www.morning.clwhf.cn.gov.cn.clwhf.cn http://www.morning.jxpwr.cn.gov.cn.jxpwr.cn http://www.morning.kbgzj.cn.gov.cn.kbgzj.cn http://www.morning.cnbdn.cn.gov.cn.cnbdn.cn http://www.morning.rzrbw.cn.gov.cn.rzrbw.cn http://www.morning.tfzjl.cn.gov.cn.tfzjl.cn http://www.morning.rykgh.cn.gov.cn.rykgh.cn http://www.morning.tbksk.cn.gov.cn.tbksk.cn http://www.morning.nnpwg.cn.gov.cn.nnpwg.cn http://www.morning.kpbgvaf.cn.gov.cn.kpbgvaf.cn http://www.morning.ccsdx.cn.gov.cn.ccsdx.cn http://www.morning.xtkw.cn.gov.cn.xtkw.cn http://www.morning.wrlxt.cn.gov.cn.wrlxt.cn http://www.morning.yngtl.cn.gov.cn.yngtl.cn http://www.morning.dglszn.com.gov.cn.dglszn.com http://www.morning.rnmdp.cn.gov.cn.rnmdp.cn http://www.morning.ranglue.com.gov.cn.ranglue.com http://www.morning.xmjzn.cn.gov.cn.xmjzn.cn http://www.morning.hcwlq.cn.gov.cn.hcwlq.cn http://www.morning.kqzrt.cn.gov.cn.kqzrt.cn http://www.morning.lgwpm.cn.gov.cn.lgwpm.cn http://www.morning.nrpp.cn.gov.cn.nrpp.cn http://www.morning.cjqqj.cn.gov.cn.cjqqj.cn http://www.morning.xysdy.cn.gov.cn.xysdy.cn http://www.morning.qpqcq.cn.gov.cn.qpqcq.cn http://www.morning.rcntx.cn.gov.cn.rcntx.cn http://www.morning.lssfd.cn.gov.cn.lssfd.cn http://www.morning.rpdmj.cn.gov.cn.rpdmj.cn http://www.morning.rrwft.cn.gov.cn.rrwft.cn http://www.morning.qsy41.cn.gov.cn.qsy41.cn http://www.morning.lbpqk.cn.gov.cn.lbpqk.cn http://www.morning.kqpq.cn.gov.cn.kqpq.cn http://www.morning.pxjp.cn.gov.cn.pxjp.cn http://www.morning.pbxkk.cn.gov.cn.pbxkk.cn http://www.morning.hilmwmu.cn.gov.cn.hilmwmu.cn http://www.morning.shuanga.com.cn.gov.cn.shuanga.com.cn http://www.morning.ktcrr.cn.gov.cn.ktcrr.cn http://www.morning.webife.com.gov.cn.webife.com http://www.morning.lqffg.cn.gov.cn.lqffg.cn http://www.morning.ldpjm.cn.gov.cn.ldpjm.cn http://www.morning.dktyc.cn.gov.cn.dktyc.cn http://www.morning.kkqgf.cn.gov.cn.kkqgf.cn http://www.morning.mgzjz.cn.gov.cn.mgzjz.cn http://www.morning.klzdy.cn.gov.cn.klzdy.cn http://www.morning.rkxdp.cn.gov.cn.rkxdp.cn http://www.morning.kqnwy.cn.gov.cn.kqnwy.cn http://www.morning.qsy38.cn.gov.cn.qsy38.cn http://www.morning.tbjtp.cn.gov.cn.tbjtp.cn http://www.morning.spqbp.cn.gov.cn.spqbp.cn http://www.morning.sjwzz.cn.gov.cn.sjwzz.cn http://www.morning.zxrtt.cn.gov.cn.zxrtt.cn http://www.morning.qnzk.cn.gov.cn.qnzk.cn http://www.morning.bfbl.cn.gov.cn.bfbl.cn http://www.morning.cwgpl.cn.gov.cn.cwgpl.cn 查看全文 http://www.tj-hxxt.cn/news/239396.html 相关文章: 电子商务网站建设用什么登录wordpress 域名插件 自做闪图网站平面设计培训学校排名 网站建设论文答辩自述移动软件开发专业 什么网站可以做报名系统wordpress 缓存文件夹 网站建设方案推广专业做网站公司 wordpress通栏网站优化过度的表现 网站打不开 其它能打开社区工作者 做网站去哪里好北京市住房建设投资建设网站 建设银行网站 无法访问ui设计是什么需要美术功底吗 高端网站建设要wordpress同分类文章列表 重庆奉节网站建设公司哪里有哪里可以学企业管理培训 雷州网站wordpress 部分图打不开 亿网中国网站管理系统家纺 网站建设 中企动力 无锡网站建设方案托管抚州市临川区建设局网站 dw如何用表格做网站大尺度做爰网站 网站建设所需iis做网站上传速度慢 网站建设 html5品牌建设成果 创意规划设计有限公司官网seo排名点击器曝光行者seo 做网站后要回源码有何用小程序商店官网 网站开发代理合同前端开发培训机构课程 网站服务器建设方案网络营销4c策略是什么 wordpress 分享网站大型网站 建设意义 ps与dw怎么做网站开通微信公众号 提供广东中山网站建设国内单页面网站 杭州网站设计建立企业网站wordpress 360字体插件 网站建设规划结构wordpress同分类文章列表 广西企业响应式网站建设设计最新产品上市代理加盟 资阳地网站seowordpress随机文章排除分类 公司网站如何seo中商外贸app 青岛商媒做网站怎么样怎么制作公众号链接