美文网首页
iOS 中常见的设计模式

iOS 中常见的设计模式

作者: SoaringHeart | 来源:发表于2019-05-27 18:22 被阅读0次

    iOS中常见的设计模式

    1.工厂方法模式(Factory Method)

    提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

    +(instancetype)buttonWithType:(UIButtonType)buttonType;
    [NSNumber numberWithBool:YES]
    [NSNumber numberWithInt:1]

    2.享元模式(Flyweight)

    运用共享技术有效地支持大量细粒度的对象。

    UITableViewCell的复用

    3.迭代器模式(Iterator)

    提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。

    iOS的Block迭代、数组迭代都是迭代器模式的典型实现。

    4.单例模式(Singleton)

    保证一个类仅有一个实例,并提供一个访问它的全局访问点。

    iOS的UIApplicationDelegate就是一个单列模式的实现。

    5.观察者模式(Observer)

    定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。

    iOS中的KVO、NSNotication都是观察者模式。

    6.职责链模式(Chain of Responsibility)

    使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。

    iOS事件的传递和响应就是职责链模式的实现。

    7.备忘录模式(Memento)

    在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。

    iOS对对象的归档接档。

    8.原型模式(Prototype)

    用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是非常简单的一种设计模式, 在多数情况下可被理解为一种深复制的行为。在Objective-C中使用原型模式, 首先要遵循NSCoping协议(OC中一些内置类遵循该协议, 例如NSArray, NSMutableArray等)。还有KVO的实现原理也是原型模式。

    设计模式和六大原则

    相关文章

      网友评论

          本文标题:iOS 中常见的设计模式

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