01 2013 档案
摘要:意图:动态的将责任附加到对象上什么时候使用:1.在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责2.处理那些可以撤销的职责3.当不能采用生成子类的方式进行扩充时结构图:示例代码:1 package com.test.patten.decorator;2 3 public interface Person {4 void doCoding();5 } 1 package com.test.patten.decorator; 2 3 public class Employee implements Person { 4 5 @Override 6 publ...
阅读全文
摘要:定义:属于结构型模式,其主要作用是将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。比如你手机只有2.5mm接口(貌似就Nokia干的出来),但你只能买到3.5mm的,这时就需要买个适配器了(─.─|||意图宗旨:保留现有类所提供的服务,向客户提供接口,以满足客户的期望什么时候可以使用它:1你想使用一个已经存在的类,而它的接口不符合你的需求。没有2.5mm2你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。3你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的
阅读全文
摘要:转载:http://blog.csdn.net/shuilv2000/article/details/6030387abstract class在Java语言中体现了一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在"is-a"关系,即父类和派生类在概念本质上应该是相同的。对于interface来说则不然,并不要求interface的实现者和interface定义在概念本质上是一致的, 仅仅是实现了interface定义的约定而已。abstract class Door{ abstract void open(); abstract void close();}i
阅读全文
摘要:转载:http://www.oschina.net/question/28_41112闭包的定义:•闭包就是函数的局部变量集合,只是这些局部变量在函数返回后会继续存在。•闭包就是就是函数的“堆栈”在函数返回后并不释放,我们也可以理解为这些函数堆栈并不在栈上分配而是在堆上分配•当在一个函数内定义另外一个函数就会产生闭包做为局部变量都可以被函数内的代码访问,这个和静态语言是没有差别。闭包的差别在于局部变量可以在函数执行结束后仍然被函数外的代码访问。这意味着函数必须返回一个指向闭包的"引用",或将这个"引用"赋值给某个外部变量,才能保证闭包中局部变量被外部代码
阅读全文

浙公网安备 33010602011771号