Agile Software Development Principles, Patterns,and Practices 第13-17章读书笔记

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模式,可以确保函数总是返回有效的对象,即使在他们失败时也是如此,这些代表失败的对象“什么也不做”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值