设计模式
文章平均质量分 84
zry963
GitHub:https://github.com/zry963
展开
-
设计模式---单例模式
设计模式---单例模式 1、单例模式 有些对象我们只需要一个,比如:配置文件、工具类、线程池、缓存、日志对象等 如果创建多个实例,就会导致许多问题,比如占用过多资源,不一致的结果等 单例模式:保证整个应用中某个实例有且只有一个 2、分类 饿汉模式 当类被加载的时候,就会创建该实例 public原创 2016-04-06 11:23:45 · 241 阅读 · 0 评论 -
设计模式---工厂模式
设计模式---工厂模式 1、工厂模式 实例化对象,用工厂方法代替new操作。 工厂模式包括工厂方法模式和抽象工厂模式。 抽象工厂模式是工厂方法模式的扩展。 2、工厂模式意图 定义一个接口来创建对象,但是让子类来决定哪些类需要被实例化。 工厂方法把实例化的工作推迟到子类中去实现。 什么情况下适用:原创 2016-04-06 14:34:07 · 270 阅读 · 0 评论 -
设计模式---适配器模式
设计模式---适配器模式 1、定义、构成 适配器模式将一个类的接口,转换成客户期望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作 适配器模式中有4个角色:客户端、目标接口、适配器、被适配类。 客户端想要的接口是目标接口的样子; 被适配器类提供的是接口的另一种样子; 适配器在中间起到一个连接两者的作用,把被适配器类改原创 2016-04-06 15:00:29 · 252 阅读 · 0 评论 -
设计模式---代理模式
设计模式---代理模式 1、基本概念和分类 定义:为其他对象提供一种代理以控制对这个对象的访问。代理对象起到中介的作用,可以去掉功能服务或增加额外的服务。 分类: 远程代理:为不同地理的对象提供局域网代表对象 虚拟代理:根据需要将资源小号很大的对象进行延时,真正需要的时候进行创建 保护代理:控制对一个对象的权限控制 智能原创 2016-04-06 15:02:08 · 252 阅读 · 0 评论 -
设计模式---策略模式
设计模式---策略模式 1、定义 策略模式将可变的部分从程序中抽象分离成算法接口,在该接口下分别封装一系列算法实现,并使他们可以相互替换,从而导致客户端程序独立于算法的改变。 2、设计原则 找出应用中变化的部分,把他们独立出来,不要和那些不需要变化的代码混在一起 面向接口编程,而不是面向实现编程 多用组合,少用继承 3、策略模式原创 2016-04-06 22:20:59 · 246 阅读 · 0 评论 -
设计模式---模板方法模式
设计模式---模板方法模式 1、定义 在抽象基类定义final修饰的方法封装算法骨架,并实现其中的共性的步骤;某些没有共性的步骤(可定义为protected或默认的abstract方法)延迟到子类实现。这样做可以在不改变算法骨架的同时,又能在后期实现算法骨架中的非共性步骤。 2、具体实现 模板方法模式结构 准备一原创 2016-04-07 09:46:29 · 223 阅读 · 0 评论 -
设计模式---责任链模式
设计模式---责任链模式 1、定义 在责任链模式中,作为请求接受者的多个对象通过对其后继的引用而连接起来形成一条链,请求在这条链上传递,直到链上某一个接收者处理这个请求。每个接收者都可以选择自行处理请求或是向后继传递请求。 发出请求的客户端不知道链上的哪一个接收者会处理这个请求,从而实现了客户端和接收者原创 2016-04-07 11:50:01 · 244 阅读 · 0 评论 -
设计模式---观察者模式
设计模式---观察者模式 1、定义、结构 定义对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 结构 2、实现步骤 第一、是目标对象的原创 2016-04-07 16:08:01 · 342 阅读 · 0 评论 -
单例模式的实现方式
单例模式的实现方式 1、只适用于单线程的环境 将构造函数私有化以禁止他人创建实例,定义一个静态私有的实例,当需要实例的时候,从中获取或创建(懒汉模式),是线程不安全的 public class Singleton1 { private Singleton1(){}; private static Singleton1 instance=null; public原创 2016-05-05 11:05:16 · 284 阅读 · 0 评论