08 2017 档案
摘要:概述: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 角色: 1、层次类:这是一个抽象类,定义了程序的骨架,抽象细节。 2、细节类:继承抽象类,对细节进行描述,完善程序,扩展父类功能。 具体代码: 层次类: 细节类:
阅读全文
摘要:1、 接口的成员变量默认是public final static,且只能被这三个修饰词修饰。由于是final,因此必须指定初始化值。因此通常不会在接口中定义成员变量。 抽象类没有限制。 2、一个类可以继承多个接口,但是只能继承一个抽象类。 3、接口的方法修饰词默认是public & abstract
阅读全文
摘要:在一个对象的基础上,生成一个一模一样的对象。 java中自带clone()方法,可以实现原型模式。 注意:重写clone方法时,必须实现cloneable接口,该接口只是一个标识接口,不带任何方法。但是如果不实现,则会报错CloneNotSupportedException。
阅读全文
摘要:工厂方法模式优点:完全实现了ocp原则,实现了可扩展。 工厂方法模式常用场景: 1、java的Collection的iterator()。 2、调用者只需要获得抽象工厂,具体工厂由生产者根据逻辑或当前系统的状态,自动判断。 工厂方法模式角色: 1、抽象工厂:所有工厂类的顶级接口 2、具体工厂: 3、
阅读全文
摘要:代理模式应用场景:1、远程代理:为一个对象在不同的地址空间提供局部代表。可隐藏对象存在不同地址空间的事实。例如ws在.net中的应用。 2、虚拟代理:通过代理来存放实例化需要很长时间的真实对象。例如让一个很大的html页面立即展开,可以通过代理设置图片位置为空,先占位打开页面,然后再慢慢加载图片后填
阅读全文
摘要:装饰模式优点:将类中原有的装饰功能移出,作为单独的一个或几个对象。简化了原有的类,同时又可以动态的为类增加某一项或某几项装饰,而不必修改原类。有效的把类的核心职责和装饰功能区分开来,并且去除相关类中重复的装饰逻辑。同时让类在某些特定的时候,才拥有某些特定的功能。 常用场景:加密数据、过滤词汇。 装饰
阅读全文