设计模式
oufu
这个作者很懒,什么都没留下…
展开
-
工厂模式
工厂模式:主要用来实例化有共同接口的类,工厂模式可以动态决定应该实例化那一个类。 工厂模式的形态 工厂模式主要用一下几种形态: 1:简单工厂(Simple Factory)。 2:工厂方法(Factory Method)。 3:抽象工厂(Abstract Factory)。 简单工厂(Simple Factory) 又叫静态工厂,是工厂模式三中状态中结构最为简单的。主要有原创 2015-09-03 22:08:44 · 401 阅读 · 0 评论 -
设计模式---适配模式
设计模式---适配模式 介绍 什么是适配模式:将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 实现 适配器模式有两种:类适配器、对象适配器、接口适配器 类适配器模式: 原理:通过继承来实现适配器功能。 由图可知适配器模式包含一下三个角色: 1:Target(目标抽象类):目标抽象类定义客户所需的接口,可以是一...原创 2018-09-20 10:39:25 · 270 阅读 · 0 评论 -
设计模式---建造模式
设计模式---建造模式 介绍 什么是建造模式:将复杂对象的构建与表示分离 开来,使得同样的构建过程可以创建不同的表示,缺点是可能产生多余的创建者与构建过程对象,消耗内存,不适用于内部建造顺序不稳定,变化复杂的对象,可能导致需要创建很多具体的建造者来实现这些变化。 实现 /** * 订单类 * * @author OF * @date 2018年8月3日 *...原创 2018-09-18 12:37:44 · 169 阅读 · 0 评论 -
设计模式---策略模式
设计模式---策略模式 介绍 什么是策略模式:一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 主要解决:在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。 何时使用:一个系统有许多许多类,而区分它们的只是他们直接的行为。 优点: 1、算法可以自由切换。 2、避免使用多重条件判...原创 2018-09-13 08:48:09 · 165 阅读 · 0 评论 -
设计模式---代理模式
介绍 什么是代理模式:给某一个对象提供一个代理,并且由代理对象控制对原对象的引用。 代理模式的定义:给某一个对象提供一个代理,并由代理对象控制对原对象的引用。 代理模式包含如下角色: ISubject:抽象主题角色,是一个接口。该接口是对象和它的代理共用的接口。 RealSubject:真实主题角色,是实现抽象主题接口的类。 Proxy:代理角色,内部含有对真实对象Real...原创 2018-09-16 16:40:34 · 224 阅读 · 0 评论 -
设计模式---观察者模式
介绍 什么是观察者模式:在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。 订阅,关注。有变化会主动通知关注者。 实现 /** * 观察者接口 * * @author OF * @date 2018年8月21日 */ publi...原创 2018-09-11 22:17:02 · 170 阅读 · 0 评论 -
设计模式---模板模式
设计模式---模板模式 介绍 什么是模板模式:一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 有顺序的做某件事情的步骤,可以通过模板规定这个事情的流程,按照步骤执行。 可能只有其中某一项不一样。通过子能重写方法实现,达到复用的目的、开闭原则。 钩子函数:是否需要执行此步骤,有...原创 2018-08-30 13:50:08 · 222 阅读 · 0 评论 -
设计模式---设计原则
介绍 什么是设计模式:就是一种大家都经常使用的一种解决方案,是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。设计模式不区分语言,只要是面向对象程序中都可以使用。 通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 为什么要使用设计模式:可以提...原创 2018-08-23 12:15:22 · 216 阅读 · 0 评论 -
学习设计模式-原型设计模式
/** * 原型设计模式 * 原型比直接new 效历要高 * 思想:对原有的对像进行复制、克隆,产生一个和原对象类似的新对象 * * @author OF * @date 2016年8月19日 */ public class Prototype implements Cloneable, Serializable{ private static final l原创 2016-08-19 17:12:40 · 361 阅读 · 0 评论 -
学习设计模式-单列模式
package com.pattern.create.singleton; /** * 单列模式 * * @author OF * @date 2016年8月18日 */ public class Singleton { /** * 赖汉式 */ private static Singleton s = null; /** * 构造方法静态化原创 2016-08-19 16:56:19 · 273 阅读 · 0 评论 -
学习设计模式-方法工厂设计模式
/** * 发送接口 * * @author OF * @date 2016年8月18日 */ public interface SendI { public void send(); } public class SendEmail implements SendI { @Override public void send() { Sy原创 2016-08-19 11:36:43 · 259 阅读 · 0 评论 -
设计模式---前端控制器模式
设计模式---前端控制器模式 介绍 前端控制器模式(Front Controller Pattern)是用来提供一个集中的请求处理机制,所有的请求都将由一个单一的处理程序处理。该处理程序可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。以下是这种设计模式的实体。 前端控制器(Front Controller) - 处理应用程序所有类型请求的单个处理程序,应用程序可以是基于...原创 2018-10-18 15:24:52 · 410 阅读 · 0 评论