二、结构型模式——类与方法的调用控制问题
结构型模式根本点是处理调用与控制。请注意“总结”这个标签中的说明。这一部分不会因为我们在写代码时,需要将什么当成变量处理时,会想到什么模式,所以,这一部分是需要细心领会的。只有对此有足够了解时,才能写出松耦合的代码。
Adapter(适配器):将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
实现方式:创建一个Adapter,对构造函数传入的类作为实际操作类。Adapter通过代码对操作类各个方法的调用,实现调用方所需要的方法。
总结:通过将目标对象作为参数传给Adapter,通过Adapter向调用方提供所需要的接口。
选择模式:方法与代码的组合。方法调用的一致性。本地使用唯一方法调用,外部实现代码配合
Bridge(桥接):将抽象部分与它的实现部分分离,使它们都可以独立地变化。
实现方式:Bridge对象通过父类的构造函数获得参数后,通过聚合参数中指定的类,同时创建对应的拥有相关方法的子类,从而在聚合的类与相关子类之间架设了一座桥。
总结:通过构造函数中的参数实现子类与另一类的组合。
选择模式:类与类的组合。多层继承会产生一个迪卡尔积的类,这样类太多了。如果只是组合,则Bridge实现了二维到多维的选择。
Composite(组合):将对象组合成树型结构以表示“部分-整体”的层次结构。Composite使得客户对单个对象和复合对象的使用具有一致性。
实现方式:单个模式的对象与复合对象(其中数量有多个)均继承同一的抽象类,实现完全相同的接口。
总结:将复数与单数类一致起来
选择模式:单数与复数的一致性。在选择时无需再区分复数还是单数。
Decorator(装饰):动态地给一个对象添加一些额外的职责。就扩展功能而言,Decorator模式比生成子类方式更为灵活。
实现方式:新的Decorator类把原来的类作为属性,并增加所需的方法。
总结:将原来的子类与新方法组合起来,实现多对多组合。
选择模式:子类与方法的组合
Facade:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
实现方式:用一个类抽象出对某一子系统部分的操作,并实现相关的代码。
总结:合并固定的一组操作到前置的类中。
选择模式:不同类的不同方法选择,并组合成代码,成为Facade类的方法。
Flyweight(享元):运用共享技术有效地支持大量细粒度的对象。
实现方式:需要一个享元工厂管理共享的资源,把所有共享的资源的生产全部交给个享元工厂。其中包括保存细粒度对象的属性(数组类型),以及获取细粒度对象的方法,通常是工厂方法。
总结:做一个对象的存储器。
选择模式:从大量共享对象中选择。统一选择接口。
Proxy:为其他对象提供一个代理以控制对这个对象的访问。
实现方式:在实际要使用的类“前端”再加一个类,用以完成相关的控制。
总结:对类方法调用增加前置预处理。成为中转代理类。
选择模式:对调用进行选择与控制。
分享到:
相关推荐
标题所涉及的知识点为“云计算在平面设计中的应用”。云计算是一种通过网络提供动态可伸缩的虚拟化的资源池,这些资源可以...随着技术的不断进步,云计算与平面设计的结合将更加紧密,预计会有更多创新的应用模式出现。
标题“浅述智能化技术在机械制造中的发展及应用”探讨了如何将智能化技术应用于机械制造领域,以提升我国机械制造业的水平和竞争力。随着信息化和全球化的发展,我国机械制造业正面临转型升级,寻求从传统制造模式向...
在文档的第二部分内容中,主要讨论了一个流量自动控制系统的设计和应用。该系统使用了Ls-3型仪表进行流量控制,并介绍了其参数设定、操作方法及系统效果。主要知识点包括: - 控制策略:采用负作用的控制方式,即...
本文聚焦于人工智能在水利工程管理中的应用,旨在探索如何通过人工智能技术提升水利工程的管理效率和质量,解决传统管理模式存在的问题。 人工智能技术,简单来说,是通过技术手段模拟人类智能,实现自动化和智能化...
本文旨在浅述基于信息化业务的高职计算机网络教学设计路径,以期为高职教育者提供有益参考。 首先,我们必须认识到当前高职计算机网络教学中存在的一些问题。例如,教学手段较为单一,多媒体展示虽然直观,但往往...
浅述混合现实技术在设计教学场景中的应用[J]. 大观, 2017(11). [3] 李婧濛. 浅谈增强现实技术(AR)在建筑领域的应用及发展[J]. 建筑工程技术与设计, 2016(1 混合现实技术的不断发展将引领我们进入一个全新的交互...
- 工业以太网交换机技术:作为一种常见通信技术,工业以太网交换机集成了光通信、以太网接入和异步数据传输功能,专为恶劣环境设计,能提供高可靠的网络服务,通过存储转发方式增强数据传输速度和网络监控能力。...
5. 信息技术的应用:随着信息技术的发展,互联网公司办公空间设计更加注重信息的流动和数据的可视化。智能化办公设备和应用的广泛使用,使得办公环境更加高效和便捷。 从办公空间设计的历史来看,经历了从传统的...
船舶吊装作业正面临向三维虚拟设计转变的趋势,虚拟现实技术提供了一个互动的环境,减少了实际操作中的时间和资源消耗,同时增加了设计的逼真度和效率。目前,吊装方案的制定主要依赖人工,这在面对大型设备、复杂...
4. 度假区规划与设计:讨论温泉疗养度假区的规划原则、设计要点,包括景观设计、设施配置、服务模式等。 5. 温泉旅游业的运营与发展:分析温泉疗养度假区的市场趋势、营销策略,以及面临的挑战和机遇。 6. 社会...
《高速公路光通信技术与监理要点浅述》这篇文章,深入浅出地对当前我国高速公路光通信技术的应用现状以及监理的关键点进行了全面分析,为我们展现了高速公路光通信的前沿技术及其在监理过程中的重点关注领域。...
根据不同的应用场景,需要灵活切换D2D与网络中转模式,以确保通信的最优化。 频谱共享是D2D通信的另一大挑战。由于频谱资源是有限的,多个设备在相同或相近的频谱上进行通信可能会产生信道干扰。因此,需要设计有效...
近年来,随着计算机技术的飞速发展,三维CAD技术已逐渐取代传统的二维设计工具,成为工程师们表达和实现设计创意的重要手段。本文主要探讨三维CAD实验课程体系的构建和优化策略,旨在通过教学改革促进学生更好地掌握...
因此,在教学中应注重理论与实践相结合,引导学生将仿真的知识和技能应用到真实世界的单片机系统设计和开发中去。 总之,Proteus作为一款强大的仿真软件,它在单片机教学中的角色是多方面的。它不仅能够帮助学生更...
为了保证仪表数据的实时响应和异常恢复,需要在设计中重点考虑网络的TCP/IP协议栈与微控制器(MCU)结构的设计结合。典型的应用方案是使用CS8900A型网卡芯片与MSP430F147单片机结合,完成LAN转换接口的功能。 MSP...
英国在分布并行处理、辅助设备设计和应用研究方面具有优势,而其他国家如法国、德国也在虚拟现实的硬件和软件开发上取得突破,推动了该技术在建筑、医疗、教育等领域的广泛应用。 当前,虚拟现实技术面临的主要挑战...
微功率无线通信网络的建设需要根据具体的应用需求来设计网络结构和功能,以满足多层次的应用要求,如实时数据的采集、控制指令的下发以及电能表的远程抄读等。 2. 运行维护策略 运行维护策略是确保微功率无线通信...
纹理分析可以通过统计方法(如局部二值模式LBP)、滤波器组(Gabor滤波器)、纹理模型(如Markov随机场)等方法进行。LBP 是一种简单有效的纹理描述子,通过对像素邻域的灰度比较,生成一个位模式,反映纹理的局部...
在设计手持设备的LCD背光LED驱动方案时,需要综合考虑能效、体积、成本、亮度一致性、可靠性等因素,选择最适合的驱动方式,以确保设备的性能和用户体验。随着技术的不断发展,未来的LED驱动方案将更加高效、智能,...
【手持设备LCD背光LED驱动方案浅述】 随着科技的发展,手持设备的显示技术日新月异,LCD(Liquid Crystal Display)背光技术是其中的关键一环。在各种媒体设备的照明需求多样化背景下,LED(Light Emitting Diode)...