[1] SimpleFactory简单工厂,倡导面向接口编程,接口提供能力/服务出去。例子:根据某个输入,判断究竟建立哪个运算类。可以想象,简单工厂类中有很多if-else语句。如果要加一个新的运算类,那么还要在简单工厂类中新加一个if-分支,这样不够优雅哦,破坏了类的开放-封闭原则。对于客户端来说,要做的就是给简单工厂类一个输入,然后就获取了运算类,可以进行计算。[2] Factory与[1]对比,一个简单工厂类 —> 一个接口+N类对应的工厂。这样,增加一个新的运算类,只要新建该运算类相应工厂(实现抽象工厂),没有破坏哪个类。对于客户端来说,就是新建一个运算类工厂,然后创造出相应的运 Read More
posted @ 2012-05-27 21:57 技术草根女 Views(276) Comments(0) Diggs(0) Edit
依赖关系public class Animal{ public Metabolism(Oxygen o, Water w){ //动物新陈代谢,依靠空气和水 }} 合成/组合关系:class Bird{ private Wing wing; //鸟儿必须有翅膀 public Bird() { this.wing = new Wing(); } //出生时,就必须有翅膀}“强”拥有关系,严格的局部与整体关系。 聚合关系:class WideGooseAggregate{ // 大雁群 private WideGoose[] arrayWideGoose;}“弱”拥有关系 关联关系:class P Read More
posted @ 2012-05-27 20:38 技术草根女 Views(258) Comments(0) Diggs(0) Edit
ERROR,一般由虚拟机抛出,例如OOM、系统中的内部错误以及资源耗尽的情形。这种情形程序员不用抛,想抛也抛不了。。 Exception,是所有异常的大爷(父类),这里我将他简单的划分为:RuntimeException和non-RuntimeException。(前者称为unchecked异常,后者称为checked异常) RuntimeException体系,一般都是程序员的错。例如,错误的类型转换、数组越界访问和试图访问空指针等等。这种异常,不catch的话,eclipse不会报错,异常会一直往上抛,直到线程停掉。用于调试,挺好的。当然也可以catch,进行些处理。无视自己已经酿成的错. Read More
posted @ 2012-05-27 16:37 技术草根女 Views(317) Comments(0) Diggs(0) Edit
ThreadPoolExecutor定义public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threa... Read More
posted @ 2012-05-27 14:10 技术草根女 Views(490) Comments(0) Diggs(1) Edit