随笔分类 -  设计模式

摘要:责任链模式 责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。 使用场景: 1、有多个对象可以处理同一个请求,具体哪个对象处理该请求由运行时刻自动确定。 2、在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。 3、可动态指定一组对象 阅读全文
posted @ 2019-11-26 16:17 honghj 阅读(362) 评论(0) 推荐(0) 编辑
摘要:装饰器模式 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 1、创建一个抽象类 1 public interface Shape { 2 void draw(); 3 } Shape 2、编写抽象类的实现类 1 public class Circle 阅读全文
posted @ 2019-11-26 10:26 honghj 阅读(194) 评论(0) 推荐(0) 编辑
摘要:桥接模式 将抽象部分与实现部分分离,使它们都可以独立的变化。 使用场景: 1、如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的继承联系,通过桥接模式可以使它们在抽象层建立一个关联关系。 2、对于那些不希望使用继承或因为多层次继承导致系统类的个数急剧增加 阅读全文
posted @ 2019-11-26 09:19 honghj 阅读(320) 评论(0) 推荐(0) 编辑
摘要:适配器模式 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。将一个类的接口转换成客户希望的另外一个接口。 1、创建媒体播放器和高级媒体播放器接口 1 public interface MediaPlayer { 2 void play(String audioType, 阅读全文
posted @ 2019-11-25 23:52 honghj 阅读(225) 评论(0) 推荐(0) 编辑
摘要:原型模式 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的 阅读全文
posted @ 2019-11-25 17:45 honghj 阅读(320) 评论(0) 推荐(0) 编辑
摘要:建造者模式 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。 主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起 阅读全文
posted @ 2019-11-25 16:21 honghj 阅读(182) 评论(0) 推荐(0) 编辑
摘要:单例模式 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一对象的方式,可以直接访问,不需要实例化该类的对象。 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 1、饿汉式 是否 L 阅读全文
posted @ 2019-11-25 11:38 honghj 阅读(97) 评论(0) 推荐(0) 编辑
摘要:抽象工厂模式 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂 阅读全文
posted @ 2019-11-25 11:00 honghj 阅读(606) 评论(0) 推荐(0) 编辑
摘要:一、模板方法定义 定义一个操作中的某种算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类在不改变一个算法结构的前提下,对这些步骤进行个性化定义。 二、模板方法程序构成 在模板方法设计模式中,存在一个父类,其中包括两类方法:模板方法和步骤方法。 模板方法,即实现某种算法的方法步骤。而这些步骤都 阅读全文
posted @ 2017-12-22 17:54 honghj 阅读(2695) 评论(0) 推荐(0) 编辑
摘要:一、适配器模式 在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。 二、适用情况 使用的前提: 1.接口中规定了所有要实现的方法 2.但一个要实现此接口的 阅读全文
posted @ 2017-12-22 13:19 honghj 阅读(209) 评论(0) 推荐(0) 编辑
摘要:一、代理模式的介绍 代理模式,是指对一个对象提供一种代理以控制对这个对象的访问。使用代理对象,是为了在不修改目标对象的基础上,增强主业务逻辑。 客户类真正想访问的是目标对象,但客户类可以访问的对象是代理对象。可以以“代理律师”来理解“代理模式”。 二、包的命名 JAVA中包的命名一般分为4-5层: 阅读全文
posted @ 2017-12-18 22:29 honghj 阅读(306) 评论(0) 推荐(0) 编辑