摘要: 图片来自head first 设计模式,仅供学习之用 阅读全文
posted @ 2018-04-10 16:39 MalcolmMeng 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 阅读全文
posted @ 2018-04-10 16:38 MalcolmMeng 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 每个状态都直接映射成一个类,每个类都实现state接口,state接口中含有可能发生的所有动作。 状态机需要持有每一个状态的实例,并且要有一个状态变量来保存当前的状态 尝试使用状态模式来提取单词,下面就是代码。写完代码我发现状态模式要求状态的接口 阅读全文
posted @ 2018-04-10 16:37 MalcolmMeng 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 事实证明光看是没有用的,实践才能出真知,迭代器模式没有我想想的那么简单,写了个小例子才发现自己的理解并不深刻。例子是仿照head first的。迭代器是一个完整的类,作用是遍历集合对象。所以迭代器需要保存在集合中的位置信息,还需要保持对集合对象的 阅读全文
posted @ 2018-04-10 16:36 MalcolmMeng 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 阅读全文
posted @ 2018-04-10 16:36 MalcolmMeng 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 关键:父类提供模板方法描述方法的步骤,以及一些被私有化的固定操作,声明步骤中的抽象方法,这些抽象方法延迟到子类中实现。所以这个模式是一个两层结构。另外,在模板方法描述的步骤中,可以添加一些钩子方法,给子类个性化提供支持,类似的钩子方法例子:beforeProcess,afterProcess,,类似 阅读全文
posted @ 2018-04-10 16:35 MalcolmMeng 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 阅读全文
posted @ 2018-04-10 16:33 MalcolmMeng 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 命令模式是对对象的操作进行封装,封装的方式就是定义抽象的命令接口,在接口中定义一组操作。具体的命令类要持有命令的接受者。此外命令还需要有一个容器来存放。不过对这个容器的作用我很是疑惑,我感觉没有这个invoker好像也没什么问题= =唯一的解释就 阅读全文
posted @ 2018-04-10 16:32 MalcolmMeng 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 抽象工厂的每个方法实际上看起来都像是工厂方法,每个方法负责产生一类产品。所以抽象工厂和工厂方法最大的不同是抽象工厂可以产生很多类产品,是一个产品的集合。抽象工厂模式实现也是通过子类实现,即实现每一个工厂方法。 事实上,理解了工厂方法模式,抽象工厂 阅读全文
posted @ 2018-04-10 16:30 MalcolmMeng 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 一直没有体会到工厂方法的实际意义,因为我对工厂方法的理解还不够,就是没有实际写过代码,因为平时写代码都是直接new,体会不到工厂方法模式的作用。 当代码使用大量的具体类时,需要考虑工厂方法模式了。 head first 里的依赖倒置原则我不是很懂 阅读全文
posted @ 2018-04-10 16:29 MalcolmMeng 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 装饰者模式设计的关键之处就是最顶层的接口或抽象类设计,设计的时候要注意保证接口或抽象类的动作要完全,并且要保持稳定。 仿照head first ,以煎饼果子为例,写了个小例子 阅读全文
posted @ 2018-04-10 16:28 MalcolmMeng 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 阅读全文
posted @ 2018-04-10 16:27 MalcolmMeng 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 阅读全文
posted @ 2018-04-10 16:26 MalcolmMeng 阅读(359) 评论(0) 推荐(0) 编辑