美文网首页
iOS常用的几种设计模式

iOS常用的几种设计模式

作者: 海耐射手 | 来源:发表于2017-04-08 20:40 被阅读0次

iOS开发过程中,有时候经常弄不清楚常用的几种开发模式,现有时间进行一下简单的总结和探讨:

下面先说一下设计模式都有哪几种:

1、单利模式

2、代理模式

3、工厂模式

4、观察者模式

一、单例模式

单例设计模式确保对于一个给定的类全局只创建一次。它通常采用懒加载的方式在第一次用到实例的时候再去创建它。

应用场景:确保程序运行期某个类,只有一份实例,用于进行资源共享控制。

优点:无论调用多少次有且仅有一个对象,类似全局变量,在整个工程中都可以使用。

二、代理模式

应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。

优点:1、如果delegate中的一个方法没有实现那么就会出现编译警告/错误

           2、协议必须在controller的作用域范围内定义

           3、在一个控制器中可以定义定义多个不同的协议,每个协议有不同的delegates

三、工厂模式

工厂模式:我们可能会在不同的地方去创建这个对象,那么我们可能需要写100句alloc 了,但是如果我们在创建对象的时候,需要在这些对象创建完之后,为它的一个属性添加一个固定的值,比方说都是某某学校的学生,那么可能有需要多些100行重复的代码了,那么,如果写一个-(void)createObj方法,把创建对象和学校属性写在这个方法里边,那么就是会省事很多,也就是说我们可以alloc 创建对象封装到一个方法里边,直接调用这个方法就可以了,这就是简单工厂方法

应用场景:客户端只知道传入工厂类的参数,对于如何创建对象的逻辑不必关心时。

优势:客户端可以直接消费产品,而不必关心具体产品的实现(消除了客户端直接创建产品对象的责任,实现了对责任的分割)。

不足:1、其集中了所有产品的创建逻辑,一旦不能正常工作,整个系统都会受到影响,而且当产品类别多结构复杂的时候,把所有创建工作放进一个工厂来,会使后期程序的扩展较为困难。

            2、要创建的类必须拥有同一个父类

            3、要创建的类在100个不同的地方所调用的方法必须一样

注意:项目初期,软件结构和需求都没有稳定下来时,不建议使用此模式,因为其劣势也很明显,增 加了代码的复杂度,增加了调用层次,增加了内存负担。所以要注意防止模式的滥用。

四、观察者模式 —— KVO

观察者模式:利用键值观察可以注册成为一个对象的观察者。这是一个对象与另外一个对象保持同步的一种方法,即当另外一种对象的状态发生改变时,观察对象马上作出反应。它只能用来对属性作出反应,而不会用来对方法或者动作作出反应

相关文章

  • iOS常用的几种设计模式

    iOS开发过程中,有时候经常弄不清楚常用的几种开发模式,现有时间进行一下简单的总结和探讨: 下面先说一下设计模式都...

  • iOS常用的几种设计模式

    一、代理模式应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会 是哪个类实现。优势:解耦合敏捷...

  • OC中几种常用的设计模式以及工厂模式(Java版)

    一、OC中几种常用的设计模式 1.单例模式(Singleton) 在iOS开发我们经常碰到只需要某类一个实例的情况...

  • 项目开发-------iOS设计模式

    iOS的设计模式大体可以分为以下几种设计模式 1.创建型:单例设计模式、抽象工厂设计模式 2.结构型:MVC 模式...

  • iOS中常见的设计模式

    下面是iOS开发中比较常用的几种设计模式.详情如下所示: (一)代理模式 应用场景:当一个类的某些功能需要由别的类...

  • iOS开发中常用的几种设计模式

    下面是iOS开发中比较常用的几种设计模式.详情如下所示: (一)代理模式 应用场景:当一个类的某些功能需要由别的类...

  • iOS中常用的几种设计模式

    1.代理模式 代理模式完成委托方交给的任务,委托方有一些任务自己不想完成,但是还需要要实现,则将该任务存放到协议中...

  • iOS开发中的几种设计模式(OC)

    在iOS开发中经常用到的设计模式主要有以下几种:1.MVC模式2.单例模式3.代理模式4.观察者模式(一般分为:通...

  • 常用设计模式整理

    ios面试题(整理) ios常用的设计模式有哪些? MVC模式、委托模式、观察者模式(kvo、kvc、通知机制)、...

  • 单例的2种写法

    单例模式是iOS开发中最常用的设计模式,iOS的单例模式有两种官方写法,如下: 1,常用写法 import "Se...

网友评论

      本文标题:iOS常用的几种设计模式

      本文链接:https://www.haomeiwen.com/subject/gfhrattx.html