本帖最后由 卧龙小 于 2014-9-23 02:01 编辑
今天有同学讨论设计模式,写了个单例模式发出来,让大家喷喷,单利模式是让程序只有一个对象实例,在JAVA通常用于DAO中,构造单例一般将类的构造方法声明为private类型,通过静态方法对外提供实例对象- @implementation Book
- static Book *instance= nil;
- +(Book *) getInstance //不需要实例化对象,即可调用的方法
- {
- if(!instance)
- {
- instance = [[self alloc] init];
- }
- return instance;
- }
- @end
- +(id)allocWithZone:(NSZone *) zone //覆盖allocWithZone,防止任何类创建第二个实例,并采用锁机制进行保护
- {
- @synchronized(self)
- {
- if(instance == nil)
- {
- instance = [super allocWithZone:zone];
- return instance;
- }
- }
- return instance;
- }
复制代码
|