设计模式
lttclaw_
程序员是最接近魔法师的职业,而代码就是我们的咒术。
展开
-
Java的单例
Java中经常要用到单例了,其实单例有几种变体版本,其中有一些细微的差别。最常见的是这种了,如果没有并发的要求,可以将getInstance()前的synchronized去掉,否则影响性能public class Singleton { private static Singleton instance; private Singleton(){ //构造方法必须是私有的 };原创 2015-01-07 16:13:43 · 425 阅读 · 0 评论 -
迭代器模式学习案例
今天研究一下Java中的迭代器模式——这种模式是为了管理几个容器类,以使其他类不用了解容器类内部的存储结构就可以遍历其中的每个元素。在Java中,我们可以直接实现Iteratable接口来完成容器类,用这种方法的容器类将可以支持for in的语法。下面看具体的实例吧—— 一个餐厅集团,有早餐、晚餐和咖啡三种餐厅类型,每种餐厅的菜单都是由MenuItem组成的,但三种餐厅实现自己的原创 2014-12-28 16:21:26 · 652 阅读 · 0 评论 -
状态模式案例学习
状态模式:允许对象在状态改变时改变它的行为,适用于一个任务有多种状态及多种动作时。示例演示实现一个自动糖果机,其状态图是这个样子的:这个状态图展现了糖果机可以进行的五个动作和四种状态,基本思路是将状态抽象成一个超类或者接口,然后这个超类或接口包含所有这些动作,糖果机拥有不同状态的实现,这些不同的实现能正确处理在这种状态下某个动作并将糖果机的状态切换到变化后的状态。好吧,说了这么多,原创 2014-12-29 13:06:17 · 577 阅读 · 0 评论