设计模式
文章平均质量分 50
往者之不谏
剑未配好,出门便是江湖
展开
-
经典单例模式
单例模式介绍 1. 单例模式介绍 2. 单例模式适用的情况介绍 3. 单例模式的经典实现 4. 单例模式经典实现的优化介绍:单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。适用情况:比如java中的线程池,数据库连接池,和一些硬件设备,比如打印机等,...原创 2018-09-15 23:54:24 · 462 阅读 · 0 评论 -
简单工厂模式
简单工程模式介绍简单工程模式适用情况简单工厂模式具体实现简单工厂模式介绍:简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。适用情况分析:简单工厂模式就...原创 2018-09-16 20:16:56 · 155 阅读 · 0 评论 -
策略模式
策略模式定义:分别封装行为接口,实现算法族,超累里面放接口对象,在子类中具体设定行为对象。原则就是:分离变化部分,封装接口,基于接口编程各种功能。此模式让行为算法的变化独立于算法的使用者。 下面使用一个例子来实现策略模式: 比如我们要描述一个鸭子类,鸭子的颜色有红色,白色,绿色,有的鸭子会飞,有的鸭子不会飞。 第一步抽象可变的部分为接口,代码:颜色://颜色接口pu...原创 2018-09-12 21:29:56 · 89 阅读 · 0 评论 -
工厂方法模式
工厂方法模式原理介绍:工厂方法模式适用举例工厂方法模式代码实现原理介绍:工厂方法模式(FACTORY METHOD)是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。它的核心结构有四个角色,分别是抽象工厂;具体工厂;抽象产品;具体产品.适用情景举例:在前文所讲的简单工厂模...原创 2018-09-17 15:56:17 · 170 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式原理介绍抽象工厂模式实例介绍抽象工厂模式代码实现原理介绍:抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据里氏替换原则,任何接受父类型的地方,都应当能够接受子类型。因此,实际上系统所需要的...原创 2018-09-17 16:36:06 · 128 阅读 · 0 评论 -
命令模式讲解
命令模式讲解大纲命令模式原理介绍命令模式适用情况分析命令模式具体代码实现原理介绍:在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处、理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式(Command P...原创 2018-09-18 15:13:14 · 473 阅读 · 0 评论 -
观察者模式
观察者模式是一种很常用的设计模式,java中内置的也有观察者模式的实现(Observable类和Observer接口),来谈一下自己的一些见解。观察者模式的原理观察者模式的实现原理 : 对象间的一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象(被观察)。 以便一个对象的状态发生变化时,所有依赖于它的对象都得到通知并发生相应的变化。 比如有一个提供天气信息的API,然...原创 2018-09-13 22:46:39 · 403 阅读 · 0 评论 -
装饰者模式
原理: 装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。例子:通过一个卖咖啡的例子来详细了解装饰者模式,比如我们有两种咖啡Espresso和LongBlack,然后我们有两种调料(可添加到咖啡中)Milk和Chocolate。我们要设计类来实现卖咖啡的功能,这种情况使用装饰着模式来就非常好。下面我们...原创 2018-09-14 23:33:38 · 130 阅读 · 0 评论 -
创造者模式
本篇博客来简要的讲解下创造者模式创造者模式原理创造者模式适用场景代码示例原理介绍:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。用户只需要给出指定复杂对象的类型和内容 建造者模式负责按顺序创建复杂对象(把内部的建造过程和细节隐藏起来)。适用场景:需要生成的产品对象有复杂的内部结构,这些产...原创 2018-10-02 18:01:09 · 1668 阅读 · 0 评论