美文网首页
agile ppp第五次 13-17章

agile ppp第五次 13-17章

作者: Shaodw | 来源:发表于2019-03-31 18:57 被阅读0次

    COMMAND & ACTIVE OBJECT

    command模式是最简单的模式之一,该模式仅有一个具有唯一方法的接口组成。

    ​ 将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。本质是对命令进行封装,将发出命令的责任和执行命令的责任分割开。

    active object模式一种使用方式:实现多线程控制 RTC(意味着command实例不会阻塞, 和传统的多线程不同,不必为每个rtc线程定义或分配各自的运行时堆栈,在需要大量线程的内存受限系统中有优势

    TEMPLATE METHOD & STRATEGY

    这两个模式都用来分离通用的算法和具体的上下文

    template method模式使用继承来解决问题

    strategy则使用委托 把通用算法必须要调用的抽象方法定义在一个接口中,从这个接口派生出类,并传给委托类。之后委托类就可以把具体工作委托给具体实现去完成。

    FACADE & MEDIATOR

    当要为一组具有复杂且全面的接口的对象提供一个简单且特定的接口时,可使用facade模式

    ​ facade是以明显且受限的方式来施加策略

    ​ mediator是以隐藏且不受限的方式来施加策略

    SINGLETON & MONOSTATE

    ​ 常常有必要要求某个特定对象只能有单一的实例(如基础对象,工厂对象,管理器对象),这时可以使用这两种模式,两者的区别,singleton注重结构,所以它使用私有构造函数,静态变量,静态方法来对实例化进行控制和限制。monostate关注行为,所以只是简单将对象的所有变量变为静态

    事实上:monostate的测试用例对singleton有效,反之则不适用

    NULL OBJECT

    ​ c_based系列的编程语言习惯与对于某种失败返回null 或是0 。我们认为对这样的返回值是需要检查的,null object模式可以改变这一点,通过使用该模式,我们可以确保函数总是返回有效的对象,那些代表失败的对象就“什么也不做”。 当然,什么都不做的含义和具体的方法有关。

    相关文章

      网友评论

          本文标题:agile ppp第五次 13-17章

          本文链接:https://www.haomeiwen.com/subject/uomubqtx.html