摘要: 命令模式:将请求封装成对象,从而使用不同的请求、队列以及日志来参数化其他对象。命令对象支持可撤销的操作。命令对象将动作和接收者包进对象中。实现“行为请求者”与“行为实现者”解耦。要点: 命令对象中动作和接收者被绑在一起,控制器调用命令对象的execute方法。应用: 线程池、队列请求、日志请求。类图... 阅读全文
posted @ 2015-02-06 23:56 心休 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式:首先定义抽象的组件类,子类继承该类后持有抽象类的引用,在抽象类的基础上可以在调用父类方法前后分别执行自己的行为。从而实现装饰添加新的功能特性。再次强调了使用组合的好处。强调对扩展开放,对修改关闭。在Java I/O中应用了装饰者模式。装饰者模式类图:以下程序来自Head First设计模... 阅读全文
posted @ 2015-02-06 23:44 心休 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 观察者模式定义了对象之间的一对多依赖,当一个对象改变状态时,他的所有的依赖者都会收到通知并自动更新;定义主题,主题的功能是持有观察者的引用,提供注册、取消注册和通知,并且有状态;观察者实现接口中的update方法,必须注册具体主题;JDK自带了对观察者的支持功能被观察者Observable对象,提供... 阅读全文
posted @ 2015-02-06 23:33 心休 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 时间就像尺子一样严格。2012即将过去,迎来2013。 我想说这一年是不寻常的一年。经历了世界末日,迎接了十八大的召开,又过了一个光棍节,迎来了钓鱼岛危机,方舟子离开了新浪微博,反腐也似乎有了苗头,难道这不是不寻常的一年吗?哈哈… 很喜欢一句话“人就是在不断回忆从前然后发现从前的自己是个傻逼的过程中 阅读全文
posted @ 2013-02-08 17:03 心休 阅读(165) 评论(0) 推荐(1) 编辑
摘要: 在之前的一段时间,总想做点自己的东西。同时在网上也看到有做各种博客备份工具的。所以就跟哥们商量着做一个自己的网站,专注于对国内各个技术博客网站和主流博客的备份。想法是一回事,可付诸实施那就是另一码事了。 首先描述一下我们的需求:比如我们使用csdn的博客,有时候我们看到有的博主写的博客比较精彩... 阅读全文
posted @ 2012-08-17 17:43 心休 阅读(417) 评论(9) 推荐(1) 编辑
摘要: 工厂模式:工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。1)简单工厂模式(Simple Factory):不利于产生系列产品;2)工厂方法模式:(生产同一种类型的产品,不同风味) 将生产产品的类做成抽象类,抽象方法中创建产品。由子类处理对象的实例化... 阅读全文
posted @ 2012-03-21 11:26 心休 阅读(1648) 评论(2) 推荐(1) 编辑
摘要: 单例模式:作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。但我们建立了一个简单的单例类后就可以在单例类中对要创建的对象进行自我创建,定向的向外界提供而不允许外界去创建。这样就可以实现对一些对象和资源的身份权限的验证和达到控制资源的目的。... 阅读全文
posted @ 2012-03-21 10:46 心休 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 策略模式:将动作等变化的东西抽离出来变成行为。这样具体的不变化的事物中会有行为的接口引用,当具体调用的时候可以动态设置他的接口实现类从而动态的改变行为。要点:封装变化;多用组合,少用继承;针对接口(不单单是接口可以包含抽象类等)编程,不针对实现编程。类图:把会变化的内容取出并封装起来,以便以后可以轻... 阅读全文
posted @ 2012-03-12 17:51 心休 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 描述:迭代器模式提供了一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。 把游走的任务放在迭代器上,而不是聚合上。这样简化了聚合的接口和实现,也让任务各得其所。以下程序模拟Java集合中迭代器的实现。迭代器类图:由于ArrayList和LinkedList都是集合类型,所以可以抽象出... 阅读全文
posted @ 2012-03-11 20:45 心休 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 编写JMF的程序最应该注意的是player的状态,因为只有player经过了正常的状态转换才能够正常进行读取媒体信息,和对媒体信息进行正常的操作。以下是对读取的媒体信息进行保存的测试,程序启动后会读取10秒的媒体信息并进行保存:package com.lcq.jmf; import java.io.File; import java.io.IOException; import javax.media.DataSink; import javax.media.Manager; import javax.media.MediaLocator; import javax.media.P... 阅读全文
posted @ 2012-03-08 21:25 心休 阅读(503) 评论(0) 推荐(0) 编辑