
设计模式
半个伪球迷
no pain no gain
展开
-
BRIDGE(桥接)—对象结构型模式
桥接模式【bridge】什么是桥接模式将抽象部分于它的实现部分分离,使它们都可以独立地变化,这个摘自<设计模式>的解释,一般很难去理解,稍后我会以代码加文字的形式给大家解释清楚。什么场景会用到桥接模式现在给大家一个场景,比如现在要做这样一个功能,需求上描述,分别开发多个软件应用,同时需要适应不同的手机型号,再详细一点,比如,现在开发了一款购物app和阅读app,需要兼容...原创 2019-07-12 21:54:25 · 237 阅读 · 0 评论 -
STATE(状态)—对象行为型模式
状态模式【state】什么是状态模式允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。一般很难去理解,稍后我会以代码加文字的形式给大家解释清楚。什么场景会用到状态模式因为这个模式里面我看了很多网上的方法都拿电梯来举例,我觉得也很合理,因为电梯每个不同的状态都可能有存在多种处理(状态模式不仅仅只会像工作流一样一级一级地往下走,还有可能跳级去处理),比如,电梯在运...原创 2019-07-13 12:30:59 · 421 阅读 · 0 评论 -
COMMAND(命令)—对象行为型模式
命令模式【command】什么是命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。稍后我会以代码加文字的形式给大家解释清楚。别名(动作( Action ),事务(Transation ))什么场景会用到命令模式我们模拟一下这个场景。用户去一个餐厅,可以点菜,并且可以取消之前点过的菜,原型图如下:流程如下,用户下达...原创 2019-07-14 09:10:34 · 592 阅读 · 0 评论 -
STRATEGY(策略) —对象行为型模式
策略模式【strategy】什么是策略模式定义一系列的算法 ,把它们一个个封装起来 , 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。别名政策(Policy)什么场景会用到命令模式这个模式比较好理解,它充分的利用了抽象和多态,策略模式是一种定义了一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种...原创 2019-07-15 18:38:11 · 196 阅读 · 0 评论 -
OBSERVER(观察者) —对象行为型模式
观察者模式什么是观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己.别名依赖(Dependents), 发布-订阅( publish - subscribe)什么场景会用到命令模式一个对象的改变需要同时改变其它对象的时候,而且不知道具体有多少个对象有待改变时。想想以前的报纸订阅,如果...原创 2019-07-16 12:37:37 · 272 阅读 · 0 评论 -
DECORATOR(装饰)—对象结构型模式
装饰模式什么是装饰模式动态地给一个对象添加额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。别名,包装器Wrapper什么场景会用到装饰模式有时我们希望给某个对象而不是整个类添加一些功能。例如,一个图形用户界面工具箱允许你对任意一个用户界面组件添加一些特性,例如边框,或是一些行为,例如窗口滚动。使用继承机制是添加功能的一种有效途径,从其他类继承过来的边框特性可以被多个子...原创 2019-07-24 17:26:28 · 168 阅读 · 0 评论 -
FACTORY METHOD(工厂方法)—对象创建型模式
工厂方法【factory method】什么是工厂方法定义一个用于创建对象的接口,让子类决定实例化哪一个类。 Factory Method使一个类的实例化延迟到其子类。别名政策(Virtual Constructor)...原创 2019-08-22 10:27:02 · 230 阅读 · 0 评论 -
PROXY(代理)—对象结构型模式
代理模式【proxy】什么是代理模式为其他对象提供一种代理以控制对这个对象的访问。能够协调调用者和被调用者,在一定程度上降低了系统的耦合度。什么场景会用到代理模式在某些情况下,一个对象不合适或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。...原创 2019-09-17 09:50:32 · 304 阅读 · 1 评论