![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
行为型
A__yes
这个作者很懒,什么都没留下…
展开
-
[一天一个设计模式]-[策略模式]
策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。策略模式和状态模式的区别:策略模式的每个策略是平等的,所有策略调用者都应该知道,由调用者自己判断选择运用哪个策略状态模式的每个...原创 2019-11-22 13:24:04 · 156 阅读 · 0 评论 -
[一天一个设计模式]-[状态模式]
状态模式(State Pattern) :允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。状态模式包含以下主要角色。环境(Context)角色:也称为上下文,它定义了客户感兴趣的接口,维护一个当前状态,并将与状态相关的操作委托给当前状态对象来处理。抽象状态(State)角色:...原创 2019-11-20 13:51:45 · 229 阅读 · 0 评论 -
[一天一个设计模式]-[观察者模式]
观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。观察者模式包含如下角色:Subject: 目标ConcreteSubject: 具体目标Observer: 观察者ConcreteObserver: 具体观察者举个栗子...原创 2019-11-19 10:42:37 · 209 阅读 · 0 评论 -
[一天一个设计模式]-[中介者模式]
中介者模式(Mediator Pattern)定义:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。与代理模式的区别,代理模式主要是代理某一类对象,中介模式是中介了一组对象,代理模式主要是控制真实对象的访问,中介模式主要是将调用者和被调用者解耦中介者模式包含以下...原创 2019-11-18 10:43:06 · 153 阅读 · 0 评论 -
[一天一个设计模式]-[命令模式]
命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。命令模式包含以下主要角色。抽象命令类(Command)角色:声明执行命令的接口,拥有执行命令的抽象方法 execute()。具体命令角色(Concrete Comman...原创 2019-11-15 14:00:20 · 164 阅读 · 0 评论 -
[一天一个设计模式]-[责任链模式]
为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。责任链模式主要包含以下角色。抽象处理者(Handler)角色:定义一个处理请求的接口,包含抽象处理方法和一个后继连接。具体处理者(Concrete Handler)角色:实现抽象处理者的处理方法,判断能否处理本次请...原创 2019-11-14 11:00:04 · 120 阅读 · 0 评论