Reference 是一个抽象类,而 SoftReference,WeakReference,PhantomReference 以及 FinalReference 都是继承它的具体类。接下来我们来分别介绍和分析强引用以及 java.lang.ref 包下各种虚引用的特性及用法。StrongRefer ...
分类:
编程语言 时间:
2016-07-16 11:32:55
阅读次数:
220
用一个对象封装一系列的对象交互,中介者使对象不需要显示的相互作用,从而使其耦合松散,而且可以独立的改变他们之间的独立。
个人理解
当多个对象之间存在着过多的耦合时,可以通过中介者模式进行解耦,将具体的对象之间的耦合转为中介者与具体对象的耦合,假如说之前是三个对象的相互之间的耦合,转为中介者与具体类的耦合之后,从耦合性上大大的降低了,这样如果再来对其进行修改的话,那么变更部分主要在中介者...
分类:
其他好文 时间:
2016-07-10 18:56:31
阅读次数:
225
在iOS开发中,有时候我们需要使用跟设备相关的一些信息,下面就详细介绍一下设备相关信息:
1.获取当前设备所有者名称:
2.获取设备的类别,是iPhone,iPod,还是iPad
这里要获取iPhone的具体类型,要有如下代码:
- (NSString *)deviceString {
// 需要#import "sys/utsname.h"
st...
分类:
移动开发 时间:
2016-07-07 11:05:30
阅读次数:
201
n 协变性、逆变性和无关性 在面向对象的计算机程序语言中,经常涉及到类型之间的转换,例如从具体类小猫到动物之间的类型转换(上行转换),或者从形状向三角形之间的转换(下行转换)。 协变性(covariance)、逆变性(contravariance)和无关性(invariant)。他们都是用来描述类型 ...
分类:
编程语言 时间:
2016-07-07 01:02:40
阅读次数:
227
封装创建对象的代码 工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个,工厂方法让类把实例化推迟到子类 抽象工厂模式:提供了一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类 静态工厂方法 优点:不需要使用创建对象的方法来实例化对象。 缺点:不能通过继承改变创建对象 ...
分类:
其他好文 时间:
2016-07-02 15:53:46
阅读次数:
140
定义 模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 实现 模板类 具体类 客户端 ...
分类:
其他好文 时间:
2016-07-02 11:51:15
阅读次数:
159
首先我们来看看两者的具体定义是怎么说的,工厂模式的定义为:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。抽象工厂模式的定义为:为创建一组相关或相互依赖的对象提供一个接口,而且无须指定它们的具体类。 ...
分类:
其他好文 时间:
2016-07-01 09:01:08
阅读次数:
134
抽象类型——实中之虚 1.具体类型与抽象类型的区别是什么? 2.抽象数据类型与抽象类型的区别是什么? 3.除接口与抽象类外,还有其他抽象类型吗?它们各有何特点和意义吗? 4.抽象类型的主要作用是什么? 5.在系统中应采用何种类型作为模块之间通信的数据类型? 6.接口是为客服(JAVA C#中)抽象类 ...
分类:
其他好文 时间:
2016-06-30 06:27:42
阅读次数:
165
1. 类模板 (1)一些类主要用于存储和组织数据元素 (2)类中数据组织的方式和数据元素的具体类型无关。如数组类、链表类、Stack类、Queue类等。 (3)C++中将模板的思想应用于类,使得类的实现不关注数据元素的具体类型,而只关注类所需要实现的功能。 2. C++中的类模板 (1)以相同的方式 ...
分类:
其他好文 时间:
2016-06-26 14:04:28
阅读次数:
124
1. 函数模板深入理解 (1)编译器从函数模板通过具体类型产生不同的函数 (2)编译器会对函数模板进行两次编译 ①对模板代码本身进行编译 ②对参数替换后的代码进行编译(编译时机:可能发生在定义对象或函数调用时) (3)注意事项 ①函数模板本身不允许隐式类型转换 ②自动推导类型时,必须严格匹配 ③显式 ...
分类:
其他好文 时间:
2016-06-26 00:30:19
阅读次数:
184