美文网首页
设计模式之创建型模式

设计模式之创建型模式

作者: 稻春 | 来源:发表于2018-06-23 09:05 被阅读0次

    一.单例模式:

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

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

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

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

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

        static dispatch_once_tonce Token;

        dispatch_once(&onceToken, ^{

            obj=[[HuNetOper alloc] init];

        });

        return obj;

    二:工厂模式

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

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

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

    三:抽象工厂类

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

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

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

    四:建造者模式

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

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

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

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

    五、原型模式

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

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

    相关文章

      网友评论

          本文标题:设计模式之创建型模式

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