有时候,我们要求工厂创建一组具有某些属性的产品,比如来一桌法式大餐。具体的菜式属于产品,而法式属于产品的属性。将这两个概念抽象一下,就有了产品族和产品等级结构的概念:同一列的所有产品继承同一个父类,同一行的产品构成一个产品族。模式图从图中看出,抽象工厂可以同时依赖于两个产品类,这两个产品类构成一个产...
分类:
编程语言 时间:
2014-05-26 10:28:31
阅读次数:
191
父类引用指向子类对象从对象的内存角度来理解试试.假设现在有一个父类Father,它里面的变量需要占用1M内存.有一个它的子类Son,它里面的变量需要占用0.5M内存.现在通过代码来看看内存的分配情况:Father
f = new Father();//系统将分配1M内存.Son s = new So...
分类:
其他好文 时间:
2014-05-26 09:13:37
阅读次数:
180
实现了javax.sql.DataSource的才是标准的数据库连接池,按照字面意思,一般称之为数据源。 对于一个已知类的某个方法进行功能上的改变有以下三种方式: 1、定义子类,扩展父类的某个功能。(此处行不通) 2、利用包装设计模式改写原有的类的功能
a、编写一个类实现与被改写类(com.my.....
分类:
其他好文 时间:
2014-05-26 08:25:11
阅读次数:
387
一、概念CARP:CompositionAggregation
Principle合成聚合复用原则,尽量使用合成/聚合,尽量不使用类继承。合成聚合是“has a”的关系,而继承是“is
a”的关系。由于继承是一中强耦合的结构,父类变,子类必变。所以不是“is a”关系,我们一般不要用继承。优先使用合...
分类:
其他好文 时间:
2014-05-26 01:31:47
阅读次数:
263
设计模式创建型模式 1. 简单工厂模式 2. 工厂方法模式 3. 抽象工厂模式 4.
创建者模式 5. 单例模式 6.
原型模式简单工厂模式又称静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例。而这些被创建的类有一个共同的父类,从而面向抽象编程。类图:
1优点:客户端不再负责对象的创建,...
分类:
其他好文 时间:
2014-05-26 00:02:55
阅读次数:
317
桥接模式,将抽象部分与它的实现部分分离,使他们都可以独立的变化。
抽象部分和实现部分不是指父类和子类,这里的抽象部分和实现部分是一种组合的关系。例如,燕子是抽象部分,燕子的翅膀是实现部分,燕子和燕子的翅膀就是一种组合的关系。桥接模式所应用的设计原则就是优先使用组合/聚合,而不是继承原则。
优先使用组合/聚合而不是继承原则:
因为任何父类的改变都会影响子类的行...
分类:
其他好文 时间:
2014-05-25 21:24:35
阅读次数:
228
这个虚类是kafka.network.Acceptor和kafka.network.Processor的父类,提供了一个抽象的Sever线程。它的有趣之处在于为子类的启动和停止提供了线程间的协作机制。当子类的shutdown方法被调用时,子类可以得知自己被停止,在子类做了适当的处理和清理后,调用自己...
分类:
编程语言 时间:
2014-05-25 19:19:18
阅读次数:
328
简单工厂模式抽象出了一个业务逻辑的父类,父类定义了定义了属性和方法,子运算类只需要重写运算方法即可。...
分类:
其他好文 时间:
2014-05-24 22:28:32
阅读次数:
294
装饰者模式(Decorator Pattern) 详解
本文地址: http://blog.csdn.net/caroline_wendy
装饰者模式(Decorator Pattern):
动态地将责任附加到对象上. 若要扩展功能, 装饰者提供了比继承更有弹性的替代方案.
使用方法:
1. 首先创建组件(Component)父类, 所有类,
具体组件(...
分类:
其他好文 时间:
2014-05-24 20:45:41
阅读次数:
317
文本款(TextView)和编辑框(EditText)的功能和用法TextView直接继承了View,他还是EditText、Button两个UI组件的父类,TextView的作用就是在界面上显示文字(相当于Java中AWT中标签[JLabel],但有比他强大些)。TextView类及其子类的类图如...
分类:
移动开发 时间:
2014-05-24 09:04:13
阅读次数:
411