美文网首页
设计模式

设计模式

作者: 我就是我啊 | 来源:发表于2019-04-13 21:10 被阅读0次

    command模式

        该模式仅由一个具有唯一方法的接口组成。

        适用范围:数据库事务操作、设备控制、多线程核心以及GUI的do/undo管理。

    template method模式和strategy 模式

        用途:都可以分离通用的算法和具体的上下文。都允许高层的算法独立于它的具体实现细节重用

        区别:

            1.template method 模式使用继承实现,而strategy 模式使用委托实现

            2.template method模式通用算法被放置在基类中,并且通过继承在不同的上下文中实现该通用算法。但是这项技术是有代价的。继承是一种非常强的关系。派生类不可避免的要和他们的基类绑定在一起。

                strategy模式通用抽象算法定义在接口中,然后从接口派生出具体类,之后把具体类传递给调用者,调用者就可以把具体工作委托给接口完成。

               3. strategy模式比template method 模式涉及更多数量的类和间接层次。

                4.template method 模式部分违反了DIP,strategy完全遵循DIP原则。

        说明:优先使用对象组合,而不是类继承

    facade模式和mediator模式

        两个模式具有共同的目的。他们把某种策略施加到另外一组对象上,facade模式从上面施加策略,而mediator模式则是从下面施加策略。facade模式的使用是明显而受限的,而mediator模式的使用是不明显且不受限制的。

    singleton模式和monostate模式

        用途:在强制要求某个特定对象只能有一个单一实例的时候使用。

        实现技术:

            1.singleton模式使用私有构造函数,一个静态变量,以及一个静态方法对实例化进行控制和限制。

            2.monostate模式把对象的所有变量变成静态的。

    null object模式

        使用null object模式,可以确保函数总是返回有效的对象,即使在他们失败时也是如此,这些代表失败的对象“什么也不做”。

    相关文章

      网友评论

          本文标题:设计模式

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