随笔分类 - 设计模式
摘要:1. 定义:动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 2. 类结构图: 3. 代码实现 // // 以下是测试类
阅读全文
摘要:1. 定义 将一个类的接口,转换成为客户期望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以合作无间,我们称之为适配器模式。 2. 应用场景 解决那些不兼容,不匹配的情况 3. 适配器分类 3.1 对象适配器 对象适配器是采用在适配器类中直接引用被适配者的方式,这样做有这样做的好处:
阅读全文
摘要:1. 定义: 单例模式:核心结构中只包含一个被称为单例的特殊类 2.使用场景: 我们在程序开发的时候,有些情况我们只需要程序一个对象,且必须是一个对象去完成一项任务时就应该使用单例模式 3. 具体应用: 常见的单例模式分为懒汉模式、饿汉模式。 3.1 饿汉模式 我们在创建静态单例对象的时候使用了两个
阅读全文
摘要:1 从属模式分类 行为性模式 2 命令模式意图 命令模式可将动作的请求者和动作的执行者对象中解耦。 该模式将一个行为操作发起者的请求封装到对象中,该请求由另外一个对象执行。 将动作封装成命令对象,这样一来就可以随心所欲的储存、传递、调用。 做多件事,有多种做法。 3 命令模式结构 4 命令模式代码实
阅读全文
摘要:所谓的代理模式就是为其它类或对象提供一个代理以控制对这个对象的访问。那么常见的代理有远程代理,虚拟代理,保护代理,智能代理。 1. 远程代理:为一个不同地址空间的对象提供一个本地代理对象。 2. 虚拟代理:根据需要创建一个开销很大的对象。 3. 保护代理:控制原始对象的访问。 4. 智能代理:取代简
阅读全文
摘要:1. 使用设计模式的好处:可提高代码的重复性,让代码更容易被他人理解,保证代码的可靠性。 2. 工厂模式定义:就是创建一个工厂类来创建你需要的类,工厂模式包括工厂模式和抽象工厂模式,抽象工厂模式是工厂模式的扩展。 3. 工厂模式意图:定义一个接口来创建对象,但是让子类来决定哪些类需要被实例化,工厂方
阅读全文
摘要:简介:使用JAVA内置的帮你搞定观察者模式。 1. 先把类图放在这里: (1). Observable类追踪所有的观察者,并通知他们。 (2). Observer这个接口看起来很熟悉,它和我们之前写的类几乎一样。 (3). WeatherData这就是我们以前所称的“主题”Subject,从今以后也
阅读全文
摘要:简介: 观察者模式是JDK中最多的设计模式之一,非常有用,观察者模式介绍了一对多的依赖关系及松耦合,有了观察者,你将会消息灵通。 认识观察者模式,看一个报纸、杂志订阅是怎么回事: (1). 报社的业务就是出版报纸。 (2). 向某家报社订阅报纸,只要他们有新的报纸,就会给你送来,只要你是他们的订户,
阅读全文
摘要:一. 定义 设计模式定义了算法族,分别封装起来,让他们之间可以互相替代,此模式让算法的变化独立于使用算法的客户(该定义来自于Head First 设计模式)。 二. 应用场景 当我们在应用程序中完成一项功能时,有些需要经常变化的算法我们需要就独立的抽取出来,将使用抽象的引用为在具体的功能类中标示,并
阅读全文