美文网首页
iOS-设计模式

iOS-设计模式

作者: 哈布福禄克 | 来源:发表于2019-11-16 12:13 被阅读0次

一、责任链模式

主要思想:对象引用了同一类型的另一个对象,形成一条链。链中的每个对象实现了相同的方法,处理对链中第一个对象发起的同一请求,如果一个对象不知道如何处理,就把请求传给下一个响应器。

二、桥接模式

桥接模式的目的是把抽象层次结构从其实现中分离出来,使其能够独立变更。

桥接模式的优点:

分离抽象接口及其实现部分。

桥接模式有时类似于多继承方案,但是多继承方案违背了类的单一职责原则(即一个类只有一个变化的原因),复用性比较差,而且多继承结构中类的个数非常庞大,桥接模式是比多继承方案更好的解决方法。

桥接模式提高了系统的可扩充性,在两个变化维度中任意扩展一个维度,都不需要修改原有系统。

实现细节对客户透明,可以对用户隐藏实现细节。

三、适配器

适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。

适配器优点:

将目标类和适配者类解耦,通过引入一个适配器类来重用现有的适配者类,而无须修改原有代码。

增加了类的透明性和复用性,将具体的实现封装在适配者类中,对于客户端类来说是透明的,而且提高了适配者的复用性。

灵活性和扩展性都非常好,通过使用配置文件,可以很方便地更换适配器,也可以在不修改原有代码的基础上增加新的适配器类,完全符合“开闭原则”。

四、单例

单例模式(SingletonPattern):单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。

单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。单例模式是一种对象创建型模式。单例模式又名单件模式或单态模式。

注意点:为了防止使用者创建对象,需要从重写两个方法$\color{red}{allocWithZone}$和$\color{red}{copyWithZone:}$。另外$\color{red}{instance = [[super allocWithZone:NULL] init];}$需要使用super方法调用防止在第一创建时循环调用。

五、命令模式

命令模式(CommandPattern):将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。

命令模式的优点

降低系统的耦合度。

新的命令可以很容易地加入到系统中。

可以比较容易地设计一个命令队列和宏命令(组合命令)。

可以方便地实现对请求的Undo和Redo。

相关文章

  • 单例模式 Singleton Pattern

    单例模式-菜鸟教程 iOS中的设计模式——单例(Singleton) iOS-单例模式写一次就够了 如何正确地写出...

  • iOS开发集锦之 2017.02.13

    1. iOS-基于面向协议MVP模式下的软件设计--架构设计 作者:乔布永原文地址:http://dwz.cn/i...

  • iOS-设计模式

    一、观察者模式 故名思意就是有一个对象在默默的看着目标对象,看它是否变化,如果变换就把变化通知给关心这个变化...

  • iOS-设计模式

    一、责任链模式 主要思想:对象引用了同一类型的另一个对象,形成一条链。链中的每个对象实现了相同的方法,处理对链中第...

  • iOS-设计模式(MVP)

    传统模式下的开发 MVC MVVM 基于面向协议MVP的介绍 相信就算你是个iOS新手也应该听说过MVC的,MVC...

  • iOS-设计模式详解

    序言 最近在看设计模式方面的资料,写这篇简书,一方面是为了做笔记,整理归纳,方便后续查看。二也是为了方便有同样需求...

  • iOS-设计模式-模板方法模式

    介绍 1.定义了一个模板结构,将具体的内容延迟到子类中去执行 2.子类可以不改变算法结构,可以重新定义算法的某些特...

  • ios-设计模式-单例

    1)单例是一种编程思想,一个设计模式,与语言无关在采用了单例对象的应用程序中,需要单例类自行提供实例化单例对象,不...

  • iOS-设计模式-单例

    来聊聊关于设计模式,首先来说说单例,这个是我们面向对象最最最常见的一种设计模式吧,一般适用于app中独一无二的对象...

  • iOS-设计模式与架构

    面试题 讲讲 MVC、MVVM、MVP,以及你在项目里具体是怎么写的? 你自己用过哪些设计模式? 一般开始做一个项...

网友评论

      本文标题:iOS-设计模式

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