设计模式五

1、状态模式

解决问题:能根据内部状态的变化,改变对象 的行为,看起来像修改了类。

实现方法:将每个状态下要执行的共同方法抽象到一个状态接口中,当执行时执行对应状态类的对应方法



2、代理模式

解决问题:为一个对象提供一个对象,以控制对这个对象的访问,被代理的对象可以是远程对象、创建开销大的对象(虚拟代理)或需要安全控制的对象。代理模式有很多变体,都是为了控制与管理对象的访问。

远程代理:创建远程对象的本地代表,通过它可以让远程对象当本地对象使用。远程代理通过网络和真正的远程对象沟通信息。(JavaRMI)

动态代理:运行时动态的创建代理类对象(proxy),并将方法调用转发到指定类(Invokation)。

动态代理实现方法:提供一个接口和该接口的实现供代理类访问控制,执行时创建一个该类的代理类,并对其中的Invokation进行实现以达到对原来类的方法的实现。



3、复合模式

解决问题:各种模式组合在一起,在一个解决方案中用多个模式组合在一起解决某一类问题。

MVC复合模式:view与controller是策略模式;MVC中的各种生命周期为模板模式。Model包含了运行数据和运行逻辑。



4、桥接模式

解决问题:将实现与抽象放在两个不同的类层次中,使两个层次可以独立变化。让接口实现和抽象层可以分别演化,从而提高移植性

实现方法:创建一个抽象类和一个接口,抽象类持有该接口,接口可以有不同实现。子类在继承抽象类时可以针对接口操作并对抽象类做不同的修改与扩展,同时做到了接口实现的类的改变,也在抽象类的子类中进行不同的改变,两个维度都可以改变。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 设计模式概述 在学习面向对象七大设计原则时需要注意以下几点:a) 高内聚、低耦合和单一职能的“冲突”实际上,这两者...
    彦帧阅读 9,170评论 0 14
  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 9,391评论 1 15
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,833评论 19 139
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,871评论 1 32
  • 阅读及笔记时间:2017年8月,13日,约2.5小时; 阅读书本:《翻转式学习》;作者:【美】拉塞尔·L·阿克夫,...
    时空山庄阅读 4,388评论 2 2

友情链接更多精彩内容