美文网首页
设计模式

设计模式

作者: shiyueZ | 来源:发表于2018-09-26 11:02 被阅读0次

    MVC

    是应用的一种基本架构,主要目的是将不同的代码归于不同的模块,做到低耦合、代码分配合理、易于扩展维护的目的。

    装饰者模式(Decorator)

    动态给指定的类增加一些行为和职责,而不用对源代码进行修改。它与继承最大的区别是:继承时,子类可以修改父类的行为,而装饰模式不希望如此。
    实现方式:
    Swift:扩展(Extension)和代理(Delegation);
    Obective-C:扩展(Extension)、代理(Delegation)和类别(Category)。

    适配器模式(Adapter)

    将一个类的接口转化为另一个类的接口,使得原本互不兼容的类可以通过接口一起工作。

    外观模式(Façade)

    用一个公共接口来连接多个类或其他数据类型。公共接口让多个类互相之间保持独立,解耦性良好。同时使用接口时,外部无需理解其背后复杂的逻辑。另外就算接口背后的逻辑改变也不影响接口的使用。

    单例模式(Singleton)

    单例模式保证对于一个特有的类,只有一个公共的实例存在。它一般与懒加载一起出现,只有被需要时才会创建。单例模式的例子有 NSUserDefaults、UIApplication、UIScreen。

    观察者模式(Observer)

    定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。在 iOS 中的典型实现是 NotificationCenter 和 KVO。

    备忘录模式(Memento)

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

    简单工厂模式(Simple Factory)

    简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

    工厂方法模式(Factory Method)

    工厂方法模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。

    抽象工厂模式(Abstract Factory)

    抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据里氏替换原则,任何接受父类型的地方,都应当能够接受子类型。因此,实际上系统所需要的,仅仅是类型与这些抽象产品角色相同的一些实例,而不是这些抽象产品的实例。换言之,也就是这些抽象产品的具体子类的实例。工厂类负责创建抽象产品的具体子类的实例。

    相关文章

      网友评论

          本文标题:设计模式

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