设计模式之创建型模式

2018-06-23  本文已影响0人  稻春

一.单例模式:

含义:这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象;

场景:经常访问或设置,且参数唯一性;

例子:如配置和获取用户个人信息;

注意:该对象是全局的,不能滥用;

OC中使用:static HuNetOper *obj=nil;

    static dispatch_once_tonce Token;

    dispatch_once(&onceToken, ^{

        obj=[[HuNetOper alloc] init];

    });

    return obj;

二:工厂模式

含义:一种创建对象时不暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象;

例子:比如一个自定义View,init它时,他创建了数组,颜色等;外部不用去管他,它自己去“加工”;

注意:复杂对象适合使用工厂模式,而简单对象,特别是只需要通过 new 就可以完成创建的对象,无需使用工厂模式。如果使用工厂模式,就需要引入一个工厂类,会增加系统的复杂度;

三:抽象工厂类

含义:围绕一个超级工厂创建其他工厂;

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

例子:需要一个套衣服,我就交给一个大厂(抽象工厂类),这个大厂里有只做衣服的安踏,和只做上衣的李宁;我们把上衣的和裤子的参数交给大厂就行了;实际上这个大厂并没有加工;

四:建造者模式

含义:使用多个简单的对象一步一步构建成一个复杂的对象;

使用场景:一些基本部件不会变,而其组合经常变化的时候;

用途:根据不同建造顺序生成不对的对象;

与工厂模式的区别是:建造者模式更加关注与零件装配的顺序。

五、原型模式

含义:用于创建重复的对象,同时又能保证性能;

用途:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象,不需要重新初始化消耗系统资源;

上一篇下一篇

猜你喜欢

热点阅读