上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 18 下一页
摘要: 本案例描述的是,给一辆汽车打蜡、抛光的场景。 Car 是一辆被打蜡抛光的汽车,扮演共享资源的角色。 WaxOnCommand 负责给汽车打蜡,打蜡时需要独占整部车,一次打一部分蜡,等待抛光,然后再打一部分蜡。 BuffCommand 负责给汽车抛光,抛光时需要独占整部车,每一次会将刚打上的蜡抛光,然 阅读全文
posted @ 2016-06-05 10:48 TonyYPZhang 阅读(297) 评论(0) 推荐(0) 编辑
摘要: EvenGenerator 是一个偶数生成器,每调用一个 next() 就会加 2 并返回叠加后结果。在本案例中,充当被共享的资源。 EvenChecker 实现了 Runnable 接口,可以启动新的线程执行 run() 任务,用于检测所指向的偶数生成器是否每次都返回偶数值。 EvenChecke 阅读全文
posted @ 2016-06-02 01:09 TonyYPZhang 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 一种常见的编程任务是,从一个文件读取内容,修改内容,再把内容写到另一个文件里。 Java 要实现读取、写入操作,需要创建多个类才能产生一个 Stream 进行操作。 下面是一个简单的工具类,封装对文件的读、写操作,提供简洁的接口。 TextFile 工具类演示 参考资料 Page 672, File 阅读全文
posted @ 2016-05-31 08:27 TonyYPZhang 阅读(1181) 评论(0) 推荐(0) 编辑
摘要: Service Locator Pattern,即服务定位模式,用于定位不同的服务。考虑到 InitialContext::lookup 的成本比较高,提供了 Cache 类缓存以定位到的服务。 代码实现 Service 接口 Service1, Service2 实现 Service 接口,提供具 阅读全文
posted @ 2016-05-22 11:46 TonyYPZhang 阅读(383) 评论(0) 推荐(0) 编辑
摘要: Front Controller Pattern, 即前端控制器模式,用于集中化用户请求,使得所有请求都经过同一个前端控制器处理,处理内容有身份验证、权限验证、记录和追踪请求等,处理后再交由分发器把请求分发到对于的处理者。 前端控制器模式主要涉及下面三个角色 前端控制器(Front Controll 阅读全文
posted @ 2016-05-22 09:45 TonyYPZhang 阅读(287) 评论(0) 推荐(0) 编辑
摘要: Data Access Object Pattern, or DAO Pattern, 即 DAO 模式,用于分离底层的数据访问接口,已经上层的业务逻辑。 下面是 Dao 模式的一个简单的案例。 Student 是纯 Java Beans 类。StudentDao 定义 Dao 的访问接口,Stud 阅读全文
posted @ 2016-05-22 01:31 TonyYPZhang 阅读(631) 评论(0) 推荐(0) 编辑
摘要: Observer Pattern,即观察者模式,当存在一对多关系,例如一个对象一有变动,就要自动通知被依赖的全部对象得场景,属于行为类的设计模式。 下面是一个观察者模式的简单案例。 Observer 定义观察者的接口,定义需要观察的对象,已经被通知的接口。BinaryObserver, OctalO 阅读全文
posted @ 2016-05-21 23:46 TonyYPZhang 阅读(317) 评论(0) 推荐(0) 编辑
摘要: Meditor Pattern,即调解模式,用一个调解类类处理所有的沟通事件,使得降低多对象之间的沟通难度,属于行为类的设计模式。为了方便理解记忆,我也称其为,沟通模式。 下面是一个调解模式的简单案例。 ChatRoom 提供公用发送短信的方法。User 全部通过 ChatRoom 类发送信息进行沟 阅读全文
posted @ 2016-05-21 22:57 TonyYPZhang 阅读(210) 评论(0) 推荐(0) 编辑
摘要: Iterator Pattern,即迭代时模式,按照顺序依次遍历集合内的每一个元素,而不用了解集合的底层实现,属于行为类的设计模式。为了方便理解记忆,我也会称其为遍历模式。 下面是一个迭代器模式的简单案例。 Iterator 定义了迭代接口, 仅 hasNext 和 next 两个方法。Contai 阅读全文
posted @ 2016-05-21 22:40 TonyYPZhang 阅读(282) 评论(0) 推荐(0) 编辑
摘要: Command Pattern, 即命令模式,把一个命令包裹在一个对象里面,将命令对象传递给命令的执行方,属于行为类的设计模式 下面是命令模式的一个简单案例。 Stock 代表被操作的对象。Order 定义命令的接口,BuyStock, SellStock 是具体类,实现 Order 接口。Brok 阅读全文
posted @ 2016-05-21 21:28 TonyYPZhang 阅读(885) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 18 下一页