设计模式
打工人小飞
公众号:机器修行
展开
-
iOS 单例模式,你真的写对了吗?
几年前,笔者曾对 iOS 单例模式作过一番阐述,包括其优点以及 Apple 自身对单例模式的实现示例,详情可参考:iOS 单例模式详解。这里再做一个简短的总结,单例的用处:主要用在封装网络请求,播放器,存放常用数据等。单例的特点:只初始化一次,生命周期和程序的生命周期相同,访问方便。下面一步一步以循序渐进的方式来将单例模式完善化。为了多线程安全,用 GCD 创建单例更加方便,由于 dispa...原创 2019-04-28 16:11:56 · 3394 阅读 · 0 评论 -
IOS 单例模式详解
个人对单例模式的一个理解:单例在整个工程中,就相当于一个全局变量,就是不论在哪里需要用到这个类的实例变量,都可以通过单例方法来取得,而且一旦你创建了一个单例类,不论你在多少个界面中初始化调用了这个单例方法取得对象,它们所有的对象都是指向的同一块内存存储空间(即单例类保证了该类的实力对象是唯一存在的一个)。“单例模式”是我们在iOS中最常使用的设计模式之一。单例模式不需要传递任何参数,就有效地解决了不原创 2016-11-18 11:26:21 · 993 阅读 · 0 评论 -
IOS 动画设计(2)——里氏代换原则
里氏代换原则由2008年图灵奖得主、美国第一位计算机科学女博士Barbara Liskov教授和卡内基·梅隆大学Jeannette Wing教授于1994年提出。传统的官方定义比较拗口且难以理解,这里,给出一个较为通俗易懂的定义: 所有引用基类(父类)的地方必须能透明地使用其子类的对象。只要父类能出现的地方子类就可以出现,而且替换为子类还不产生任何错误或异常,使用者可能根本就不需要知道是父类还是子原创 2016-10-03 15:16:01 · 1358 阅读 · 0 评论 -
IOS 动画设计(1)——高内聚,低耦合原则
模块独立性(单一职能原则)指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准就是耦合性和内聚性。耦合性也称块间联系。是软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结原创 2016-10-02 20:52:59 · 2039 阅读 · 0 评论 -
详述 IOS 之代理模式(Objective-c)
1. 什么是代理模式? 代理模式是在 IOS 中经常遇到的一种设计模式,那什么叫做代理模式呢? 举个例子:有一个婴儿,他本身不会自己吃饭和洗澡等等一些事情,于是婴儿就请了一个保姆,于是婴儿和保姆之间商定了一个协议,协议中写明了保姆需要做什么事情, 而保姆就是这个代理人, 即:婴儿和保姆之间有个协议,保姆继承该协议,于是保姆就需要实现该协议中的条款成为代理人。2. 为什么使用代理模式?原创 2016-09-07 17:17:37 · 2883 阅读 · 0 评论