![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 81
Sleeping-Cat
这个作者很懒,什么都没留下…
展开
-
快速理解简单工厂类模式
简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。读程序是最容易去理解原理的。不浪费篇幅,Benz类和Bmw类都继承抽象基类Car,它们都有通用的操作drive()。SimplyFactory类Create Car的时候,通过输入不同参数,创造出不同的类。由下面的例子,可以看出。简单工厂类并不符合开闭原则,当需要扩展出新的Car种类时,必须修改简单工厂类原创 2017-02-28 09:17:18 · 371 阅读 · 0 评论 -
快速理解工厂类模式
在读这篇文章前可以先回顾一下简单工厂类的弊病。如果要增加一种车的类型,就得去改原来的生成不同Car的代码。这违背开闭原则,对修改封闭,对扩展开放。工厂类解决了这个问题。一个抽象工厂类,可以派生出多个具体工厂类。每个具体工厂类可以创建不同的具体产品类。//工厂类 abstract class Factory{ public abstract Car creat原创 2017-02-28 09:43:30 · 354 阅读 · 0 评论 -
快速理解单件SINGLETON模式
SINGLETON(单件)—对象创建型模式 -- 只保存一个实例。关键点:1. 构造函数为私有,外部不能访问。2. 只能通过静态函数getInstance访问,访问前判断是否已经实例化。public class Singleton { private Singleton() {} private static Singleton sin原创 2017-02-28 16:03:42 · 242 阅读 · 0 评论 -
快速理解桥接模式
桥接模式的目的是:分离抽象化和实现,使两者的接口可以不同,目的是分离。桥接模式的角色有:实现(Implementor):定义具体行为,具体特征的应用接口。具体实现(ConcreteImplementor):实现Implementor。目标接口(Target): 包含实现具体行为、具体特征的Implementor接口或者类。桥接模式通过在Target里的操作,调用Implementor得操作,达到了Target的抽象与Implementor实现的分离。如例程:Painter(Target)有画图形原创 2017-02-28 17:04:24 · 9017 阅读 · 0 评论 -
粗略了解抽象工厂类
抽象工厂类要解决的是什么问题?首先要了解产品系,和产品族的概率。奔驰车的商务车和跑车属于奔驰产品系,奔驰车的跑车和宝马的跑车属于跑车产品族。抽象工厂类需要解决的就是既有产品系又有产品族的问题。这种情况在一般编程中不常见,这个概念还比较绕。我建议不用深究。需要知道的可以读下面这篇文章,是我看过讲得最为透彻的文章。http://www.cnblogs.com/zhangchenliang/p/37原创 2017-02-28 11:47:43 · 286 阅读 · 0 评论 -
快速理解观察者模式
观察者模式定义了多个观察者对象同时监听一个事件的模式。该模式最少包括3个角色:观察者接口: 该接口定义了 reaction()方法,也就是观察者在监听到事件后做什么操作多个观察者实现类: 多个观察者都实现了观察者接口事件监听类: 创建观察者list,监听事件,一旦事件发生,遍历观察者list,逐一调用每个观察者的reaction()方法Java例程://观察者接口原创 2017-02-27 10:16:55 · 464 阅读 · 0 评论 -
快速理解装饰者模式
用冰糖葫芦来理解装饰类,冰糖葫芦的核心是一个山楂(具体构建),给山楂上浇上一层糖水(具体装饰者),然后还可以再浇上一层巧克力(具体装饰者),可以继续这样加上新的装饰者。当最后一个装饰者执行吃操作时候,就会先吃到山楂,然后是凝固的糖水,然后是凝固的巧克力。 举糖葫芦的例子还是比较形象的,只是要注意吃的顺序是剖开冰糖葫芦,从里往外吃。下面文章摘自博客http://www.cnblogs.com原创 2017-03-01 16:18:14 · 269 阅读 · 0 评论 -
快速理解动态代理模式
网上搜到这批文章,把动态代理讲得深入浅出。http://www.jb51.net/article/86531.htm若代理类在程序运行前就已经存在,那么这种代理方式被成为 静态代理 ,这种情况下的代理类通常都是我们在Java代码中定义的。 通常情况下, 静态代理中的代理类和委托类会实现同一接口或是派生自相同的父类。一、概述1. 什么是代理我们大家都知道微商代理,简单地说就是转载 2017-03-21 16:28:22 · 1865 阅读 · 1 评论 -
快速理解代理模式
代理模式要解决问题是:如果直接访问对象比较困难,或直接访问会给使用者或系统带来一系列问题。这样对于客户端(调用者)来说,就不需要直接与真实对象进行交互,解除了调用者与真实对象的耦合。代理Proxy类和被代理RealSubject类都实现同一个interface,Proxy类的function()调用RealSubject的同名function()。用户就可以直接访问Proxy,而不和RealS原创 2017-03-21 15:16:46 · 762 阅读 · 0 评论