• Head First 设计模式笔记(第一章 设计模式入门)


    这次看的是实体书, 中文版2007年9月第1版. 第一章p1~p35.

    概述

    之前看过一次这本书, 不过印象不深刻, 平时也不太会用, 这次借着和群友一起看的机会, 再复习一次. 目标是每章都有代码, 最好和工作中的实例结合起来.

    Duck

    Duck是经典的模型. Duck基类有2种行为, fly()quack(), 如果是直接继承, 那么所有Duck的子类都会飞, 但是橡皮鸭(橡皮鸭算不算鸭??)不会飞.

    那么继承就不合适, 但是如果每个子类都自己实现一遍, 代码又没有得到复用(例如鸭子类型A和类别B的代码是一样的).

    这种时候就需要抽象一个飞行行为接口FlyBehavior, 定义方法fly(), 然后定义不同的实现类FlyWithWings, FlyNoWay等. 每种鸭子看情况使用不同的实现类.

    Duck中添加一个属性FlyBehavior, 可以在子类初始化时指定特定的FlyBehavior实现类. 也可以添加一个方法setFlyBehavior(FlyBehavior flyBehavior), 可以动态改变行为, 一会让鸭能飞, 一会让鸭不能飞(似乎没有用处...).

    游戏中的人物战斗

    这个例子适合动态改变行为.

    游戏中有很多人物, 有国王, 骑士, 王后. 有很多种武器, 有斧头, 剑, 弓箭等. 人物可以佩戴不同的武器, 可以切换武器, 先拿斧头, 再换剑.

    写日志的场景分析

    之前用果log4net, 分析下这个场景

  • 相关阅读:
    等你在清华
    印度教导的灵性四句话
    印度“人棍”男孩,用头部自理生活,坚挺过着生活
    观看纯净版优酷视频
    自定义联通话费充值
    windows实用工具
    计算机书籍下载
    文档下载冰点文库
    python读文件的三个方法read()、readline()、readlines()详解
    POJ 3661 Running(dp背包)
  • 原文地址:https://www.cnblogs.com/winwink/p/HeadFirstPattern_P1_Strategy.html
Copyright © 2020-2023  润新知