02 2015 档案

摘要:不得不感慨时间的快。 这一年没有感受到烟台的风和雪,只是感受到了北京的雾霾。又是一年,与往年不同的是今年的生日没有在家过。周末醒来收到姐姐的微信“老弟,生日快乐!“,给姐打过电话去“就知道你忘了,我的生日你也没记呀。。。”有点愧疚。 这一年收获了很多,失去了很多。晚饭回家经常买的馒头没吃完都扔掉了, 阅读全文
posted @ 2015-02-16 22:52 心休 阅读(163) 评论(0) 推荐(0)
摘要:synchronized同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronized 和 块语句,在多线程访问的时候,同一时刻只能有一个线程能够用 synchronized 修饰方法或者代码块。volatile用volatile修饰的变量,线程在每次使用变量的... 阅读全文
posted @ 2015-02-08 23:57 心休 阅读(230) 评论(0) 推荐(0)
摘要:描述:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。通常应用在有好多状态的流程中。类图:以下程序模拟糖果机器投币取糖果的状态流程。1.定义状态... 阅读全文
posted @ 2015-02-08 23:43 心休 阅读(187) 评论(0) 推荐(0)
摘要:描述: 允许你将对象组合成树形结构来表现“整体/部分”的层次结构。组合能让客户以一致的的方式处理个别对象以及对象组合。实例: 组合菜单和菜单项。类图:以下程序演示了打印菜单项和包含菜单项的菜单组合功能。1.菜单组件抽象类package net.dp.composite.menu;public abs... 阅读全文
posted @ 2015-02-08 23:33 心休 阅读(152) 评论(0) 推荐(0)
摘要:描述:在一个方法中定义一个算法的骨架。将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下重新定义算法中的某些步骤。钩子:定义一个空的方法或者默认的方法,提供用户子类根据情况去覆盖实现自身的判断和功能。 通过钩子可以影响抽象类中的算法流程。在算法的某个地方是可选的就设置钩子。让子类有... 阅读全文
posted @ 2015-02-07 00:29 心休 阅读(132) 评论(0) 推荐(0)
摘要:适配器模式:Adapter改造现有的接口从而适应新接口的要求。适配器中需要有要适配的对象的引用。适配器中包装多个被适配者是外观模式。适配器模式的意图是改变接口符合客户的期望,外观模式的意图是提供子系统的一个简化接口。这里容易联想到外观模式。外观模式提供了一个统一的接口,用来访问子系统中的一群接口。比... 阅读全文
posted @ 2015-02-07 00:11 心休 阅读(170) 评论(0) 推荐(0)
摘要:命令模式:将请求封装成对象,从而使用不同的请求、队列以及日志来参数化其他对象。命令对象支持可撤销的操作。命令对象将动作和接收者包进对象中。实现“行为请求者”与“行为实现者”解耦。要点: 命令对象中动作和接收者被绑在一起,控制器调用命令对象的execute方法。应用: 线程池、队列请求、日志请求。类图... 阅读全文
posted @ 2015-02-06 23:56 心休 阅读(174) 评论(0) 推荐(0)
摘要:装饰者模式:首先定义抽象的组件类,子类继承该类后持有抽象类的引用,在抽象类的基础上可以在调用父类方法前后分别执行自己的行为。从而实现装饰添加新的功能特性。再次强调了使用组合的好处。强调对扩展开放,对修改关闭。在Java I/O中应用了装饰者模式。装饰者模式类图:以下程序来自Head First设计模... 阅读全文
posted @ 2015-02-06 23:44 心休 阅读(176) 评论(0) 推荐(0)
摘要:观察者模式定义了对象之间的一对多依赖,当一个对象改变状态时,他的所有的依赖者都会收到通知并自动更新;定义主题,主题的功能是持有观察者的引用,提供注册、取消注册和通知,并且有状态;观察者实现接口中的update方法,必须注册具体主题;JDK自带了对观察者的支持功能被观察者Observable对象,提供... 阅读全文
posted @ 2015-02-06 23:33 心休 阅读(370) 评论(0) 推荐(0)