设计模式
jiang_zf
这个作者很懒,什么都没留下…
展开
-
建造者模式
当一个对象的构造过程比较复杂,或者需要介入到具体的构造过程,比如构造的顺序或者构造的部件选择(有些不需要全部部件都完全初始化)等;可以考虑使用建造者模式;建造者模式和工厂模式的区别是:建造者模式关心构建过程,代码体现是调用多个具体的属性初始化方法,最后返回初始化好的对象;而工厂模式一般不关系对象的具体创建过程,代码体现一般都是直接new一个产品对象;另外如果一个对象属性较多,且使用的时候不一定...原创 2019-11-26 11:21:58 · 97 阅读 · 0 评论 -
享元模式
享元模式UML图一句话概括享元模式:为了节省内存空间,将对象分为不可变的内部状态对象和可变的外部状态对象;每次在使用的时候,如果内部状态对象已经存在则复用,否则新建保存。享元工厂负责存储享元对象的Map。...原创 2019-10-31 19:38:50 · 128 阅读 · 0 评论 -
代理模式
代理模式UML图使用代理模式的好处:1.职责清晰,被代理的真是对象不用关心额外的业务2.可扩展性强使用代理模式几个步骤:1.创建代理处理类2.创建代理对象3.通过代理对象调用相关方法...原创 2019-10-31 19:20:28 · 144 阅读 · 0 评论 -
状态模式
状态模式UML类图:状态模式就是有一个上下文,然后上下文通过处理一些通用的逻辑之后,对于不同的状态的相关逻辑交给相关的实现类去实现,并且内部可以实现状态转换。遵循了单一职责原则和开放封闭原则。状态模式和策略模式类图基本差不多,区别就是状态模式存在状态间的切换,而策略模式不存在。...原创 2019-10-31 19:12:46 · 473 阅读 · 0 评论 -
策略模式
工厂模式与策略模式的一些区别:工厂模式是创建型模式,适应对象的变化。策略模式是行为性模式,适应行为的变化原创 2019-10-28 19:34:35 · 122 阅读 · 0 评论 -
观察者模式
原创 2019-10-28 19:30:50 · 117 阅读 · 0 评论 -
简单工厂模式与工厂方法模式和抽象工厂模式
1. 简单工厂模式2. 工厂方法模式3. 抽象工厂模式概括三种模式:简单工厂模式:去除了与具体产品的依赖。但是当需求变动的时候,需要对原有的类进行修改,违背了开放封闭原则。工厂方法模式:工厂方法克服了简单工厂违背的开放封闭原则的缺点,又保持了封装对象创建过程的优点。抽象工厂模式:抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需制定他们具体的类...原创 2019-10-28 19:28:58 · 208 阅读 · 0 评论 -
观察者设计模式
1.观察者模式模式简介定义观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。观察者模式结构图在观察者模式中有如下角色:Subject:抽象主题(抽象被观察者),抽象主题角色把所有观察者对象保存在一个集合里,每个...转载 2018-03-06 14:27:48 · 97 阅读 · 0 评论 -
简单工厂 工厂方法 抽象工厂 使用方法与区别
简单工厂:是由一个工厂对象决定创建出哪一种产品类的实例。A实例调用B实例的方法,称为A依赖于B。如果使用new关键字来创建一个B实例(硬编码耦合),然后调用B实例的方法。一旦系统需要重构:需要使用C类来代替B类时,程序不得不改写A类代码。而用工厂模式则不需要关心B对象的实现、创建过程。[csharp] view plain copy//抽象产品 public abstract class ...转载 2018-03-13 19:33:46 · 823 阅读 · 0 评论