引言 Java 动态代理机制的出现,使得 Java
开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架。通过阅读本....
分类:
编程语言 时间:
2014-05-26 15:17:03
阅读次数:
356
在上一篇的工厂方法模式中,通过一个公用的类对其他具有相同特性(实现相同接口或继承同一父类)的类的对象进行创建。随之带来的问题在于:当新定义了一个具有相同特性的类时,需要修改工厂类。这与设计模式中的开闭原则有些违背。因此,通过抽象工厂模式:创建多个工厂类而不是一个工厂类,一旦需要创建新的类对象,只需增...
分类:
其他好文 时间:
2014-05-26 13:49:47
阅读次数:
218
父类引用指向子类对象从对象的内存角度来理解试试.假设现在有一个父类Father,它里面的变量需要占用1M内存.有一个它的子类Son,它里面的变量需要占用0.5M内存.现在通过代码来看看内存的分配情况:Father
f = new Father();//系统将分配1M内存.Son s = new So...
分类:
其他好文 时间:
2014-05-26 09:13:37
阅读次数:
180
一 Decorator模式意图:
动态的给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。
动态的给一个对象,而不是对整个类添加额外职责,说明此模式将采用的结构是组合而不是继承;要给一个对象添加职责,通常可以使用其类的派生类对象替换当前对象,但这显得不...
分类:
移动开发 时间:
2014-05-26 07:53:53
阅读次数:
442
在C++继承模型中,一个派生类对象表现出来的东西,是其自己的成员加上其基类成员的总和。但这些成员如何摆放,标准并未强制规定。一般而言,先摆放基类成员,内存向高地址增长。
下面从四个部分讨论C++继承模型:
单一继承不含虚函数单一继承并含虚函数多重继承虚拟继承
1、单一继承不含虚函数
这种继承关系很简单,基类子对象包含在了派生类对象中,在内存中连续存放。但有一点需...
分类:
编程语言 时间:
2014-05-26 03:51:22
阅读次数:
295
一、在UML系统开发中有三个主要的模型:
功能模型: 从用户的角度展示系统的功能,包括用例图。
对象模型: 采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类、对象图、包图。
动态模型: 展现系统的内部行为。包括序列图,活动图,状态图
下面简单简绍一下九种图:
用例图(Usecase
Diagram)用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执...
分类:
其他好文 时间:
2014-05-26 03:17:08
阅读次数:
273
按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class
String {String ( const char* p );//用C风格的字符串p作为初始化值//…}String s1 = “hello”;//OK
隐式转换,等价...
分类:
其他好文 时间:
2014-05-26 00:58:49
阅读次数:
265
MVC(Model/View/Controller)模式是国外用得比较多的一种设计模式,好象最早是在Smaltalk中出现。MVC包括三类对象。Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。
模型-视图-控制器(MVC)是80年代Smallt...
分类:
其他好文 时间:
2014-05-25 23:19:23
阅读次数:
235
首先声明一下,C++的内部类与Java内部类相似,但有一点不同,即C++需要一个显式的成员只想外部类对象,而Java内部类对象有一个隐式的成员指向外部类对象。给出两个example:1.C++内部类(原创来自:http://blog.chinaunix.net/uid-7769108-id-1667...
分类:
编程语言 时间:
2014-05-25 15:06:27
阅读次数:
256
java 反射提取类信息, 动态代理 和过滤某些方法演示...
分类:
编程语言 时间:
2014-05-23 00:39:19
阅读次数:
340