2014年5月3日
摘要: 想象一个场景:现在我们要计算一个给定包中的一个类Tank的放run()的运行时间,并不是计算new Tank().run()的时间,因为new包含JDK实例化的时间。这里要求是纯粹计算run方法的时间。方法有两种:继承和聚合。1、继承 1 package program.proxy.model; 2... 阅读全文
posted @ 2014-05-03 20:21 飞机说之代码也疯狂 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 普通工厂模式和抽象共产模式的优缺点:(1)普通工厂模式能够在单一产品维度上进行扩展,但是增加一个产品就要增加一个相应的工厂类,这样就会造成工厂的泛滥;(2)抽象工厂模式:很好的实现了一批产品的更新,但是,另一方面在单一产品维度上不好扩展。而Spring的工厂模式原理是将Bean的信息放在配置文件当中... 阅读全文
posted @ 2014-05-03 20:03 飞机说之代码也疯狂 阅读(891) 评论(0) 推荐(0) 编辑
摘要: 我们一般得到一个实例的方法是由用户new出来的,即用户自行产生的。现在,将某个类的实例交付给一个类的方法提供,那么这就是一种工厂模式。这样做做有两点好处:(1)在用户得到实例之前我们可以设置权限,只有满足某种条件才能得到相应的实例。(2)我们也可以在工厂类里设置实例产生过程,即是用单例的形式产生还是... 阅读全文
posted @ 2014-05-03 19:31 飞机说之代码也疯狂 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 现在,我们要对对象实例进行比较。既然是对象比较,那么比较的规则不尽相同。比较规则不同,那么我们就可以对不同的东西设置一个接口,在这里也就是将比较规则放到一个Comparable的接口中,实现其中的compareTo方法就得到给出具体比较规则的结果。这也就意味着,要进行比较的对象,都得首先实现这个接口... 阅读全文
posted @ 2014-05-03 17:36 飞机说之代码也疯狂 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 面向对象编程思想中,多态是一个最重要的特性,代码灵活性的体现主要是靠这种思想来实现的。现在模拟Sun公司当中的两个集合类LinkedList和ArrayList。这些具体的容器,都可以用一个Collection的接口来接收。最常用的就是遍历容器,而现在不同的容器,遍历它们的具体实现是不同的,而我们可... 阅读全文
posted @ 2014-05-03 16:41 飞机说之代码也疯狂 阅读(779) 评论(0) 推荐(0) 编辑
摘要: 1、现在假设一个场景:做一个BBS系统,也就意味着人们可以在论坛上自由言论。一个好的系统肯定要对言论进行处理,比如说敏感词汇、脚本代码等等。A、原始的做法: 1 package program.design.model; 2 public class LinkedDesign { 3 pub... 阅读全文
posted @ 2014-05-03 15:35 飞机说之代码也疯狂 阅读(120) 评论(0) 推荐(0) 编辑