欢迎转载,转载请注明出处
本文地址:http://blog.csdn.net/zhenggaoxing/article/details/42261689
这篇文章作为我设计模式的开篇,有必要介绍一下的内容:用图文(故事+涂鸦)的形式展示我理解的设计模式,由于作者较为菜鸟,有不足之处敬请海涵,闲话少许,我们现在开始:
皇帝模式(单例)
话说天下大势,分久必合,在这古老的中华大地上,有一个神秘的传说,掌握传国玉玺的人,就能登基大宝,成为万圣瞩目的九五之尊——皇帝。普天之下莫非王土,率土之滨莫非王臣,整个天下,便只能有一个皇帝,如果有两个人想当皇帝,那么必有一个会灭亡。
这个传说就是我们今天要讲的皇帝模式:1:只有一个玉玺 2:只有拿到玉玺的人可以称帝 3:皇帝受命于天,他之前没有皇帝
所以皇帝,全天下只有一个,而唯一的玉玺,成为了皇权的象征。所以,当你的程序里面,有一个对象需要唯一的存在的时候,就可以把他想象成为皇帝。
所以,两点就可以:1 受命于天(类方法:类是相对对象超然的存在) 2 拿到玉玺(古今唯一的玉玺来证明皇权)
下面上代码:
static HuangDi *huangDi=nil; // 玉玺 static 代表唯一
+(HuangDi*)shareManage // 受命于天 ——类方法
{
if (!huangDi) { // 只有一个人能得到玉玺
huangDi=[[HuangDi alloc]init];
}
return huangDi;
}
通常可以实现全局变量
传送门:相关代码下载:https://git.oschina.net/zhengaoxing/mode-Taizi