2016年6月19日
摘要: 装饰模式 定义 动态地给一个对象添加一些额外的职责,就增加功能来说说,装饰模式比生成子类更为灵活。 装饰模式结构图 例子 还是继续车子的例子,现在是组装汽车,在汽车上组装各种部件。 Component(Component) Car(ConcreteComponent) Decorator(Decor 阅读全文
posted @ 2016-06-19 16:03 韩思明 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 依赖倒转原则 定义 A.高层模块不应该依赖底层模块。两个都应该依赖抽象。 B.抽象不应该依赖细节。细节应该依赖抽象。 在面向对象的世界里,所谓的抽象指的就是借口和抽象类,而对于依赖倒转原则自己更深的理解就是“面向接口编程”。 例子 在一个汽车自动检测系统中,该系统可以自动对车子进行run和stop的 阅读全文
posted @ 2016-06-19 14:56 韩思明 阅读(172) 评论(0) 推荐(0) 编辑
2016年6月17日
摘要: 引用计数法(Reference Counting) 主要内容 对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1,当引用失效时,引用计数器就减1.只要对象A的引用计数器的值为0,则对象A就不可能再被使用。 主要缺点 可能造成循环引用,无法回收的情况。例如,如下图,我们构造了一个列表, 阅读全文
posted @ 2016-06-17 13:41 韩思明 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 开放封闭原则(OCP) 定义 所有面向对象原则的核心。软件设计本身所追求的目标就是封装变化、降低耦合,而开放封闭原则正是对这一目标的最直接体现。软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。 例子 简单工厂模式就是违背了开放封闭原则的,所以后面才会有工厂模式,抽象工 阅读全文
posted @ 2016-06-17 10:05 韩思明 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 单一职责原则(SRP) 定义 就一个类而言,应该仅有一个引起它变化的原因。一个类,只有一个引起它变化的原因。应该只有一个职责。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一起。这会导致脆弱的设计。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,会 阅读全文
posted @ 2016-06-17 09:29 韩思明 阅读(131) 评论(0) 推荐(0) 编辑
2016年6月16日
摘要: 策略模式(strategy) 定义 它定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。 方法 (1) 环境对象:该类中实现了对抽象策略中定义的接口或者抽象类的引用。 (2) 抽象策略对象:它可由接口或抽象类来实现。 (3) 具体策略对象:它封装了实 阅读全文
posted @ 2016-06-16 11:14 韩思明 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 简单工厂模式 简单工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂类 客户端代码 总结: 阅读全文
posted @ 2016-06-16 10:54 韩思明 阅读(265) 评论(0) 推荐(0) 编辑
2016年6月3日
摘要: 时光荏苒,一学期的时间很快就过去了,这是我第一次接触到软件工程的概念,这也是第一次让我知道了,软件并不是简简单单的开发,而是要经过一个漫长的过程,分析,设计,编码,测试等等,这也是为什么我们专业名字叫软件工程,而我们的李老师同时教了我们三门课程,几乎包含了整个软件工程,下面我就简单说下我对软件工程这 阅读全文
posted @ 2016-06-03 09:43 韩思明 阅读(344) 评论(0) 推荐(0) 编辑
2016年5月15日
摘要: 今天遇到java.lang.reflect.InvocationTargetException错误,卡了好一会儿,报错代码 错误锁定在 method.invoke(c.newInstance(), new Object[]{request,response}); 这句话,我一直是以为反射出了什么错, 阅读全文
posted @ 2016-05-15 12:27 韩思明 阅读(14911) 评论(0) 推荐(1) 编辑
2016年4月19日
摘要: 后台线程,守护线程(Daemon Thread) 所谓的后台线程,就是指这种线程并不属于程序中不可或缺的部分,因此当所有的非后台线程结束时,程序也就终止了,同时会杀死进程中的所有后台线程。通过setDaemon(true)来设置该线程为后台线程。 结果 可以很清楚的看见当主线程结束之后,其他线程就没 阅读全文
posted @ 2016-04-19 16:04 韩思明 阅读(479) 评论(0) 推荐(0) 编辑