![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
回归心灵
这个作者很懒,什么都没留下…
展开
-
设计模式之状态模式
定义 通用类图 具体实现原创 2020-08-30 16:33:56 · 137 阅读 · 0 评论 -
设计模式之访问者模式
定义 通用类图 具体实现 访问者模式应用 访问者模式优点 访问者模式缺点 应用场景原创 2020-07-19 18:51:23 · 135 阅读 · 0 评论 -
设计模式之备忘录模式
定义 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 通用类图 具体实现原创 2020-06-21 20:13:41 · 164 阅读 · 0 评论 -
设计模式之观察者模式
定义 观察者模式也叫发布订阅模式,定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。 通用类图 具体实现 观察者模式中有观察者和被观察者角色,他们之间的关系往往是一对多的关系,也就是一个被观察者对应多个观察者,当被观察者状态变化时,要通知其每个观察者对象。 被观察者 Subject ,一般是抽象类或者是实现类,主要的职责是管理观察者并通知...原创 2020-04-12 15:59:16 · 108 阅读 · 0 评论 -
设计模式之责任链模式
定义 使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。 通用类图 具体实现 责任链模式的目的是为了让发送者和接收者解耦,发送者不需要知道请求是由哪个接收者处理,只需要把请求给到由多个对象组成的处理链的头节点,抽象处理类 Handler 会判断是否是本节点要处理的请求,是的话处理请求,不是的话把请求传...原创 2020-01-11 18:14:51 · 156 阅读 · 0 评论 -
设计模式之命令模式
定义 将请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。原创 2019-10-20 18:33:47 · 101 阅读 · 0 评论 -
设计模式之策略模式
定义 定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。 通用类图 具体实现 策略模式就是当满足不同条件时,使用不同的策略执行。主要用到了面向对象的继承和多态机制。 抽象的策略角色定义了每个策略或算法必须具有的方法和属性。 package com.yrs.strategy; /** * @Author: yangrusheng * @Description: 抽象策略角色 * ...原创 2019-06-23 18:49:37 · 176 阅读 · 0 评论 -
设计模式之中介者模式
定义 用一个中介对象封装一系列的对象交互,中介者使各个对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。原创 2019-03-10 17:20:18 · 127 阅读 · 0 评论 -
设计模式之模板方法模式
通用类图原创 2018-11-18 14:05:47 · 140 阅读 · 0 评论 -
设计模式之桥梁模式
定义 将抽象和实现解耦,使得两者可以独立地变化。 通用类图原创 2018-11-11 19:09:36 · 166 阅读 · 0 评论 -
设计模式之享元模式
享元模式定义原创 2018-10-28 17:49:36 · 173 阅读 · 0 评论 -
设计模式之组合模式
组合模式定义原创 2018-10-14 18:49:20 · 119 阅读 · 0 评论 -
设计模式之适配器模式
适配器模式定义 将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 具体实现 适配器的目的是把一个类的接口转换成另一种接口,通过适配器类定义目标类的接口,然后把具体的实现委托给被适配类实现。在具体实现上面有两种不同的方式:类适配器和对象适配器。它们之间的本质区别在于适配器类Adapter和被适配类Adaptee类之间的关系,类适配器是继承关...原创 2018-09-27 23:56:33 · 119 阅读 · 0 评论 -
设计模式之外观模式
外观模式定义外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用详解外观模式外观模式的意图是简化接口。当实现某个行为时,需要依赖子系统的许多类,而且使用复杂,就可以考虑使用外观模式,提供一个简化并统一的接口。这样客户只需对外观类编程,从而将客户从一个复杂的子系统中解耦。从下面的简易的类图可以更清晰的理解外观模式: 示例本例是一个智能手机示例。子系统包原创 2017-07-12 17:29:22 · 639 阅读 · 0 评论 -
Java 反射
Java反射机制JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。–百度百科Java反射应用如果想在跨网络的远程平台上创建和运行对象的能力,那么可以通过反射来实现,也就是远程方法调用(RMI),它允许一个Java程序将对象分布到多台机器上。例如可以将计原创 2017-07-13 21:08:43 · 264 阅读 · 0 评论 -
代理模式
什么是代理模式代理模式为另一个对象提供一种代理以控制对这个对象的访问。为什么使用代理模式当处于某种原因(安全等)考虑,不希望客户直接访问某个对象时,可以提供一个代理对象来访问这个对象。或者希望跟踪某个对象中的方法调用,记录这些执行情况,这时就可以利用代理模式添加一些额外的功能,而又不破坏原有的代码。现实生活中,打官司要找的律师,明星的经纪人等也是代理模式。另外,java EE框架Spring的AOP原创 2017-07-15 01:21:46 · 412 阅读 · 0 评论 -
设计模式之建造者模式
建造者模式定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。使用场景 创建复杂对象的算法独立于组成对象的部件 同一个创建过程需要有不同的内部表象的产品对象 建造者模式构成通用类图角色 Product产品类 表示被构造的复杂对象,当有许多产品类时,可以抽象出一个接口。 Builder抽象建造者 该接口是所有具体创造者(ConcreteBuilder)的抽象接口,用以规范原创 2017-07-31 23:11:00 · 288 阅读 · 0 评论 -
设计模式之原型模式
原型模式定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 通用类图 具体实现 原型模式不是通过new关键字来产生一个对象,而是通过对象复制来实现的。Java提供了一个Cloneable接口来标示这个对象是可拷贝的,并且类重写了clone()方法,在JVM中才能被拷贝。当调用clone方法时构造函数不会被执行。Object类的clone方法的原理是从内存中(具体地说...原创 2018-07-22 20:05:27 · 131 阅读 · 0 评论 -
设计模式之单例模式
定义 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 类图 具体实现 1、非线程安全实现 package com.yrs.singleton; /** * @Author: yangrusheng * @Description: "懒汉式"实现,非线程安全的单例模式实现。 * @Date: Created in 9:21 2018/7/5 *...原创 2018-07-22 20:35:36 · 185 阅读 · 0 评论 -
设计模式之工厂方法模式
工厂方法模式定义 定义了一个创建对象对象的接口,但由子类决定要实例化的类时哪一个。工厂方法让类把实例化推迟到子类 通用类图 具体实现 工厂方法模式是把产品的实例化过程封装到工厂类中,这样就降低了客户与具体产品类之间的耦合,客户不需要知道产品对象创建的具体过程,而且如果产品对象的创建过程在后期有改变,那么只需改变工厂方法,而不用改变每一个客户。每一个具体的产品类对应一个具体的工厂类,...原创 2018-08-12 20:34:20 · 348 阅读 · 0 评论 -
设计模式之抽象工厂模式
1原创 2018-08-12 22:27:28 · 130 阅读 · 0 评论 -
设计模式之装饰者模式
什么是装饰者模式装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。这就是面向对象设计中常提到的优先使用组合而不是继承。UML图图中抽象类Component是被装饰者基类,ConcreteComponent是将要动态地加上新行为的对象,它扩展了Component。Decorator是装饰者共同实现的接口或者是抽象类。ConcreteDecoratorA和Concr原创 2017-07-02 18:24:41 · 278 阅读 · 0 评论