设计模式
如是说如是
读史使人明智
读诗使人灵秀
数学使人周密
科学使人深刻
伦理学使人庄重
逻辑修辞之学使人善辩
展开
-
浅谈简单工厂方法模式(Simple Factory Pattern)
简单工厂模式为了更加深理解工厂方法模式,我们需要先了解什么是简单工厂模式(Simple Factory Pattern)。简单工厂模式的含义简单工厂模式又称静态工厂方法模式,是属于创造型模式,它不属于23种GOF设计模式,是工厂模式的一个变种吧。为什么又称为静态工厂模式呢?这是因为它的工厂方法是一个静态方法,那么在下面的代码中也会看到。解决的问题设想,现有A和B两个类,在A类中需要使用B...原创 2019-06-13 21:08:07 · 262 阅读 · 0 评论 -
浅谈工厂方法模式(Factory Method)
工厂方法模型既然已经有了简单工厂模型了,为什么还有一个工厂方法模型呢?其实工厂方法模型就是为了解决简单工厂模型的缺点而产生的。简单工厂模型的缺点有哪些可以看这里:《浅谈简单工厂方法模式》,在此我们就不细说了。总之,为了解决简单工厂模型的问题,我们又有了一种新的模型:工厂方法模型。工厂方法模型的介绍工厂方法模型,又称为多态性工厂模型,在工厂方法模型中,核心的工厂类不再负责所有的产品的创建,而...原创 2019-06-13 21:50:42 · 891 阅读 · 0 评论 -
浅谈单例模式
简介单例模式是一种常见的软件设计模式,其定义是:确保某一个类只有一个实例,且自行实例化并向整个系统提供这个实例。单例模式的通用类图如下:基本实现思路:定义该类的构造方法为私有(private),这样在其他代码中就无法通过new来生成该类的实例。在类中向系统暴露一个静态方法,该静态方法的作用是判断引用是否存在且返回一个引用。使用场景在一个系统中,要求一个类有且仅有一个对象,可以使...原创 2019-06-10 17:50:45 · 193 阅读 · 0 评论 -
浅谈抽象工厂模式(Abstract Factory Pattern)
抽象工厂模式之前我们了解了简单工厂模式和工厂方法模式,那么在工厂模式族中还有一个抽象工厂模式(Abstract Factory Pattern)。抽象工厂模式的介绍抽象工厂模式是一种比较常用的模式,定义如下:为创建一组相关或相互依赖的对象提供一个接口,而且无须指定它们的具体类抽象工厂模式常用来解决一系列具有相关约束的产品族生成的问题,和工厂方法模式的相比,抽象工厂模式是工厂方法模式的...原创 2019-06-16 16:17:41 · 307 阅读 · 0 评论 -
浅谈模版方法模式(Template Method Pattern)
模版方法模式模版方法模式的定义是定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。其实在我们日常编程中经常不自觉地就使用到了模版方法模式,但是很多情况下,我们并不知道自己使用了模版方法模式。模式组成模版方法模式的通用类图:角色关系作用AbstractClass(抽象模版)具体模版的父类其方法分为...原创 2019-06-16 17:28:00 · 127 阅读 · 0 评论 -
浅谈建造者模式(Builder Pattern)
建造者模式建造者模式(Builder Pattern)也叫做生成器模式,属于创建型模式。其定义是:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示感觉这句话很不好理解啊!其实通俗的说,就是这个模式可以将部件和组装过程分开,一步一步创建一个复杂的对象,用户只需要指定对象的类经就可以得到该对象了,而不需要知道其内部的具体构造细节。模式组成角色关系作用...原创 2019-06-17 21:50:50 · 211 阅读 · 0 评论 -
浅谈代理模式(Proxy Pattern)
代理模式代理模式是在实际开发中经常使用的一种设计模式,其定义如下:为其他对象提供一种代理以控制对这个对象的访问这句话很好理解,比如在网络中,经常会用到代理,一个请求过来了,那么首先会被代理服务器去响应,代理服务器获得请求后去真正的服务器请求资源,并回应客户发送的请求。用户只需要告诉代理我需要什么东西,至于怎么去找这些东西,用户不用管,由代理服务器去做。模式组成代理模式的通用类图如下:...原创 2019-07-10 16:52:13 · 260 阅读 · 0 评论 -
浅谈原型模式(Prototype Pattern)
原型模式原型模式非常好理解和简单,所以在很多场景中也经常使用,其定义如下:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象通俗的讲就是不使用new方法来生成一个新的对象,来实现对象的实例化操作。模式组成这个类图非常简单,其核型就是一个clone()方法,通过该方法完成对对象的拷贝,在java中提供一个Cloneable接口来标示这个对象是可拷贝的,这个接口没有方法,只...原创 2019-07-10 17:33:17 · 243 阅读 · 0 评论