欢迎转载,转载请注明出处

本文地址: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

ios 单例模式 漫画设计模式 1相关推荐

  1. iOS常见的设计模式:工厂设计模式

    iOS常见的设计模式:工厂设计模式 简单工厂模式: 简单工厂模式(Simple Factory Pattern):专门定义一个类(工厂类)来负责创建其他类的实例.可以根据创建方法的参数来返回不同类的实 ...

  2. iOS单例模式定义与使用

    单例模式是iOS开发中常用的一种设计模式,目的在于创建一次对象,多地方使用. 系统中的单例例如:UIApplication. NSUserDefaults 等,开发中我们可以用作用户管理. Objec ...

  3. 开发必看 | iOS开发常用设计模式!

    ios开发学习中,经常弄不清楚ios的开发模式,今天我们就来进行简单的总结和探讨~ (一)代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现. 优势:解耦合 敏捷 ...

  4. [iOS]-单例模式\通知\代理

    目录: 参考的博客 单例模式 什么是单例模式 单例模式的优缺点 优点: 缺点: 实现方式 懒汉式: 举一个真实的懒汉式创建单例的例子: 饿汉式: 通知 通知底层实现原理 NSNotification ...

  5. iOS中MVC设计模式

    在组织大型项目的代码文件时,我们常用MVC的思想.MVC的概念讲起来非常简单,就和对象(object)一样.但是理解和应用起来却非常困难.今天我们就简单总结一下MVC设计理念. MVC(Model V ...

  6. php工厂模式和单例模式,php 设计模式之工厂模式、单例模式、注册树模式

    php 设计模式之工厂模式.单例模式.注册树模式 在软件工程中,创建型设计模式承担着对象创建的职责,尝试创建适合程序上下文的对象,对象创建设计模式的产生是由于软件工程设计的问题,具体说是向设计中增加复 ...

  7. iOS当中的设计模式

    代理模式  应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现.  优势:解耦合  敏捷原则:开放-封闭原则  实例:tableview的 数据源delegate,通过和p ...

  8. IOS代理的设计模式

    在项目中我们经常会用到代理的设计模式,这是iOS中一种消息传递的方式,也可以通过这种方式来传递一些参数.这篇文章会涵盖代理的使用技巧和原理,以及代理的内存管理等方面的知识.我会通过这些方面的知识,带大 ...

  9. 单例模式——java设计模式

    单例模式 目录: 一.何为单例 二.使用Java EE实现单例模式 三.使用场景 一.何为单例 确保一个类只有一个实例,并且提供了实例的一个全局访问点 1.1 单例模式类图               ...

最新文章

  1. ResNet最强改进版来啦!ResNest在多项任务中达到SOTA
  2. 写一个迷你版Smarty模板引擎,对认识模板引擎原理非常好(附代码)
  3. 8086汇编-实验6(微调)-小写转换大写
  4. appimage文件怎么安装_bauh:在一个界面中管理 Snap、Flatpak 和 AppImage | Linux 中国...
  5. 加载一张照片,可选择是否另存为
  6. python编程入门课 视频-Python入门到精通视频教程下载[21课程全]
  7. Python 批量重命名文件
  8. Python垃圾回收机制:gc模块
  9. 布客·ApacheCN 编程/后端/大数据/人工智能学习资源 2020.11
  10. win64位MySQL5.7.32下载、安装及配置
  11. VUE解决背景图片没有铺满的问题
  12. EasyExcel导出合并单元格
  13. Ubuntu安装N卡驱动
  14. 重拾呐些記憶,前面の路,獨自繼續前往。
  15. 利用Neo4j的Java驱动获取节点的所有直接关系
  16. 生鲜配送APP软件开发
  17. 【Destory后依然占用内存】
  18. 堆内存和栈内存详解(转载)
  19. 产品管理精华:第一,谁是优秀的产品经理?
  20. MySQL - 为什么使用B+树做索引结构

热门文章

  1. 瞧一瞧,“康一康”|简单又实用的短视频配音小技巧
  2. matlab 画三维花瓶,CAD三维花瓶的建模方法 看完你学会了么
  3. KNN算法简单?我竟用3万字没写清楚······
  4. 让沸腾的空体和世界碰撞
  5. Shell 获取本机IP
  6. EOS CXF客户端动态调用webservice
  7. SpringBoot第十九篇:邮件服务
  8. amd服务器稳定性,海量运算潜力:AMD服务器主版/GPU加速卡登场
  9. ajax跨域请求,请求成功但是走error
  10. 允许ajax跨域请求