美文网首页
iOS 的三种工厂模式

iOS 的三种工厂模式

作者: 紫云夕月 | 来源:发表于2019-05-18 09:27 被阅读0次

工厂(Factory)角色:接受客户端的请求,通过请求负责创建相应的产品对象。

抽象产品(Abstract Product)角色:是工厂模式所创建对象的父类或是共同拥有的接口。可是抽象类或接口。

具体产品(ConcreteProduct)对象:工厂模式所创建的对象都是这个角色的实例。

简单工厂模式:简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

工厂模式:抽象了工厂接口的具体产品,应用程序的调用不同工厂创建不同产品对象。(抽象产品)

抽象工厂模式:在工厂模式的基础上抽象了工厂,应用程序调用抽象的工厂发发创建不同产品对象。(抽象产品+抽象工厂)

简单工厂模式

SFOperation *sfOperation = [SFFactory operationBreakfast:SFFactoryProductTypeMantou];//只有一个简单的工厂去生产产品。不好扩展产品

[sfOperation productBreakfast];//产品自身的逻辑

NSLog(@"生产产品:%@",sfOperation.product);

工厂模式

//馒头

FFOperation *ffOperation = [FFactoryMantou createOperation];//不同工厂生产不同产品

[ffOperation productBreakfast];

NSLog(@"生产产品:%@",ffOperation.product);

//油条

FFOperation *ffOperation = [FFactoryMantou createOperation];//不同工厂生产不同产品

[ffOperation productBreakfast];

NSLog(@"生产产品:%@",ffOperation.product);

抽象工厂模式

AFFactory *afFactory = [AFFactory factoryWithType:AFFactoryProductTypeMantou];//抽象工厂 直接生产不同产品

AFOperation *afOperation = [afFactory createProduct];

[afOperation productBreakfast];

NSLog(@"生产产品;%@",afOperation.product);

相关文章

  • java工厂模式

    简介 工厂模式有三种:简单工厂模式,工厂方法模式,抽象工厂模式,这三种都属于工厂模式,但各有不同。 简单工厂模式 ...

  • 工厂模式精髓

    工厂模式分类 业界一般把工厂模式细分为三种:由简单到复杂分别为简单工厂模式、工厂模式、抽象工厂模式。 三种工厂模式...

  • 3.简单工厂模式

    在设计模式中,工厂模式有三种形式:简单工厂模式、工厂方法模式、抽象工厂模式。三种形式核心的角色都是工厂类。 简单工...

  • 设计模式-简单工厂模式

    工厂模式一共分为三种,简单工厂、工厂模式和抽象工厂。这三种工厂模式都属于创建型模式。这篇博文主要讲解工厂模式的第一...

  • iOS设计模式(三)之抽象工厂模式

    设计模式系列传送门 iOS设计模式(一)之简单工厂模式iOS设计模式(二)之工厂模式iOS设计模式(三)之抽象工厂...

  • iOS设计模式(一)之简单工厂模式

    设计模式系列传送门 iOS设计模式(一)之简单工厂模式iOS设计模式(二)之工厂模式iOS设计模式(三)之抽象工厂...

  • iOS设计模式(二)之工厂模式

    设计模式系列传送门 iOS设计模式(一)之简单工厂模式iOS设计模式(二)之工厂模式iOS设计模式(三)之抽象工厂...

  • iOS设计模式(3)适配器模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(4)抽象工...

  • 我要做 Android 之面笔试总结

    说说什么是工厂模式 ps:之前只是单纯了解过工厂模式,不知道其实有三种工厂模式 一:工厂模式 工厂模式就有三种,它...

  • 工厂模式

    工厂模式细分三种:简单工厂模式、工厂模式、抽象工厂模式。 工厂模式相当于抽象了简单工厂模式的工厂类,而抽象工厂模式...

网友评论

      本文标题:iOS 的三种工厂模式

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