加载中
设计模式六大原则

一:单一职责原则 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 二:里氏替换原则 定义:所有引用基类的地方必须能透明地使用其子类的对象。 解决方案:当使...

设计模式-职责链模式 (分离职责,动态组合)

一:业务场景 我们申请聚餐经费的审批: 项目经理只能审批500元以下的, 部门经理可以审批1000元以下的, 总经理可以审批1000元以上的 二:看看我们不用设计模式的平时代码逻辑 /** * 处理聚...

Decorator 装饰器模式 -动态组合

一:业务场景 奖金计算,每个部门,有不同的计算方法,且每个部门有不同类型的奖金项;而且每年或每隔几个季度奖金算法都要重新实现下。 这个应用场景应该比较合适了。 我先列出几个计算公式...

策略模式Strategy (分离算法,选择实现)

一:使用场景 假如领导要让我们做个报价方案。 那我们可定会有这样的情况, 1.新用户或者普通用户,报市场价 2.老用户给9.5折 3.优质客户或大客户给9折 二:不用设计模式,普通我们的 开发代...

Template Method 模板方法模式,设计模式

这个没什么讲的感觉... 一:使用场景 1.前台用户登陆 2.后台管理员登陆  这两个部分有些业务逻辑重复了,我们可以使用模板代码!这里引入模板方法模式。 模板方法模式定义: 就是写个模...

组合模式,Composite组合模式

一:举个我们实际的应用场景:树形结构 都用过把 ,如图: 这个商品类目树形结构,有一个根节点,有2个树枝节点,还有叶子节点,通常有子节点的父节点我们叫做容器节点或叫容器对象或组合...

命令模式(Command)

一:场景示例 电脑开机过程,大家都用过吧, 1.我们要摁下按钮吧, 2.接着主板“嘀”下检查各个硬件通过 3.启动操作系统 4.进入桌面 二:ok,我们就用这样的场景使用命令模式,且看代码实现,...

观察者模式(Observer) 又被称"发布-订阅模式"

观察者模式(Observer),定义对象间的一种一对多的依赖关系。当一个对象的状态或内容发生改变时,所有依赖它的对象都得到通知并被自动更新。

代理模式-为其他对象提供一种代理以控制对象的访问

一:代理的分类 二:代理时序图 三:代码示例: 1:订单接口:public interface OrderApi{...} 2: 订单接口实现:public class Order implements OrderApi{...} 3:订单实现的代理:持有目标...

2016/04/11 16:28
184
中介者模式-用一个中介对象封装一系列的对象交互。使各个对象不能显式调用,从而使其耦合松散

一: 场景说明 大家知道计算机的构成,有cpu、显卡,内存,硬盘,光驱,声卡,网卡,主板组成, 如果你自己diy过计算机你很清楚,计算机很多硬件都是安插在主板上的,是通过主板实现互相的交...

2016/04/11 15:53
15
原型模式-克隆生成对象

原型模式-克隆生成对象,设计模式,原型模式,原型设计模式,原型模式实际包含两个功能: 1)通过克隆创建新的对象实例。 2)为克隆出来的新对象实例复制原型实例属性值。

生成器模式(建造者模式)-分离构建和表示

使用生成器模式,构建过程是统一的,固定不变的,变化的部分放到生成器中了,只要配置了不同的生成器,那么相同的构建过程,就能构建不同的产品或结果出来!

单例模式-控制实例数目,5种写法 :懒汉,恶汉,双重校验锁,枚举和静态内部类。

单例模式的定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点! 懒汉,线程不安全 public class Singleton { private static Singleton instance; private Singleton ()...

适配器模式 -- 转换匹配,复用功能

给小白举个例子: 大家都用过macbook pro(15款)笔记本, tmd没有网线端口!没有VGA 视频输出接口 ! tmd 用网线要买转换器!开会用投影仪要买视频输出转接口! 这里的转换器和转接口就是我今天...

设计模式:简单工厂、工厂方法、抽象工厂之区别和小结

简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性。 本文是本人对这三种模式学...

2015/12/30 14:22
91

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部