设计模式
文章平均质量分 63
设计模式
鲲鹏之上
这个作者很懒,什么都没留下…
展开
-
设计模式--桥接模式
先举个例子:有3种型号的钢笔能够画出粗,中,细三种大小的线,但是现在需要画出各种粗细,每种粗细7种颜色的线。那么总共需要3*7=21支钢笔。如果换成毛笔,3种型号画出三种线,再配备7种颜料,则只需要3+7=10个东西就可以画出21种不同的线来。而且如果需要增加一种型号,钢笔等于需要增加7支才能再画出7种线来,毛笔只需要增加一支就可以了,颜料不需要动。从代码设计的角度来说,钢笔把型号(也就是线条粗细)原创 2016-03-30 16:04:32 · 603 阅读 · 0 评论 -
简单工厂模式
定义 定义一个工厂类,它可以根据传入的参数返回不同类的实例。被创建的类实例通常都具有相同的父类。因为在简单工厂模式中返回所创建的类实例的方法是静态方法,所以简单工厂模式也称为静态工厂模式。 简单工厂方法的要点在于:你只需要传入一个正确的参数,就可以得到你想要的对象,而不需要关心具体的创建细节。 uml类图: 核心工厂类代码:public class SimpleFactory()原创 2016-11-14 14:18:19 · 245 阅读 · 0 评论 -
工厂方法模式
定义:简单工厂模式最大的问题在于:核心位置的工厂类承担了过多的职责,它需要知道创建所有产品的细节。当需要新增一个产品时,不得不修改工厂类源码,违背了“开闭原则”。工厂方法模式提供一组与产品等级结构相对应的工厂结构来分别创建产品。 工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其原创 2016-11-15 15:17:52 · 295 阅读 · 0 评论 -
抽象工厂方法
在工厂方法中,我们可以很方便的创建一个产品继承结构下的多个产品。那么考虑这么一种情况:我们需要在工厂中创建多个不同继承结构的产品。例如皮肤库:包含按钮、文本框、选择框等多个不同的元素。Spring皮肤库包含了一组相似的按钮、文本框、选择框;扁平皮肤库包含了一组扁平化的按钮、文本框、选择框;护眼皮肤库包含了一组颜色温和护眼的按钮、文本框、选择框。在这里按钮是一个产品结构(包含了Spring按钮,扁平按原创 2017-07-20 10:43:03 · 265 阅读 · 0 评论 -
建造者模式
建造者模式概述 建造者模式是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象的创建过程分离,客户端无须知道复杂对象的内部组成部分与装配方式,只需要知道所需建造者的类型即可。它关注如何一步一步创建一个的复杂对象,不同的具体建造者定义了不同的创建过程,且具体建造者相互独立,增加新的建造者非常方便,无须修改已有代码,系统具有较好的扩展性。 建造者模式定义如下:转载 2017-07-21 17:40:29 · 226 阅读 · 0 评论 -
适配器模式
适配器模式可以将一个类的接口和另一个类的接口匹配起来,把一个接口转换成客户希望原创 2017-07-13 18:39:23 · 193 阅读 · 0 评论 -
单例模式
定义:单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式是一种对象创建型模式。 从定义来看,有几个要点: 这个类只有一个实例 这个类要自行实例化,也就是说它不能从外部实例化该类,不能在外部用new 方式来创建一个实例。 这个类要向整个系统提供这个类。也就是说它需要有一个向外部暴露类的唯一原创 2016-11-14 10:55:54 · 304 阅读 · 0 评论 -
面向对象设计原则
单一职责原则 开闭原则 里氏替换原则 依赖倒转原则 接口隔离原则 迪米特原则 合成复用原则原创 2018-08-06 10:28:06 · 253 阅读 · 0 评论