美文网首页
设计模式-工厂模式-原理剖析

设计模式-工厂模式-原理剖析

作者: 我静静仰望着天空 | 来源:发表于2018-08-24 15:16 被阅读162次

内容一:设计模式?

创建型模式->5种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式

结构型模式->7种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式

行为型模式->11种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模

内容二:工厂方法模式?

1、什么是工厂方法模式?(定义)

      定义一个用于创建对象的统一的接口,然后由子类实现。

2、工厂方法模式->角色划分?

        4个核心角色

        角色一:抽象产品

        角色二:具体产品

        角色三:抽象工厂

        角色四:具体工厂

3、工厂方法模式->原理案例?

           工厂创建电脑->富士康工厂

           华为工厂、三星工厂、苹果工厂、联想工厂…

           如何知道你制造出来的产品是电脑?

           因为:电脑标准规范(协议、接口)->特点

           角色一:抽象产品->定义产品规范(规格)->电脑规范

           角色二:具体产品->具体实现(具体制造目标)->具体电脑

           具体电脑:华为电脑、三星电脑、苹果电脑…

            角色三:抽象工厂->定义工厂规范和标准

            角色四:具体工厂->华为工厂、三星工厂

 定义角色?

角色一:抽象产品->ComputerProtocol

角色二:具体产品->SXComputer、HWComputer、MacComputer…

角色三:抽象工厂->ComputerFactoryProtocol

角色四:具体工厂->SXComputerFactory、HWComputerFactory…

来...上代码:

1.创建项目 ,选择macOS下的Command Line Tool来创建项目

2. 创建 ComputerProtocol这个接口:

    角色一:抽象产品->定义产品规范(规格)->电脑规范

    角色一:抽象产品->ComputerProtocol

抽象产品->ComputerProtocol

3.创建具体的产品SXComputer、HWComputer、MacComputer…这个类继承NSObject

    角色二:具体产品->具体实现(具体制造目标)->具体电脑

                      具体电脑:华为电脑、三星电脑、苹果电脑…

    角色二:具体产品->SXComputer、HWComputer、MacComputer…

(1)创建SXComputer类

    三星的电脑一定会具有 抽象产品(上边)的特点.

    抽象产品是,具有是所有电脑的共同特点.

so :三星电脑要实现抽象产品具有的特点,实现抽象产品的方法

实现接口方法

(2)创建HWComputer类 (同理SXComputer类)

4.创建抽象工厂ComputerFactoryProtocol接口类 

    角色三:抽象工厂->定义工厂规范和标准

    角色三:抽象工厂->ComputerFactoryProtocol

    //电脑工厂说:我不知道是什么电脑,只需知道电脑标准就可以啦

5.创建SXComputerFactory三星工厂,和HWComputerFactory华为工厂

(1)创建SXComputerFactory类,三星工厂

三星电脑工厂引了"SXComputer.h"类

return返回的对象是三星电脑的类型特点.

ComputerProtocol是公共电脑的特点

SXComputer 实现了ComputerProtocol的方法.但是SXComputer具有他的电脑特点.

(2)创建HWComputerFactory华为工厂(同理(1))

6.最后一步,在main类实现

想实现HW电脑,直接替换一下对象就ok.省代码省力✌️

增送一张图,更好理解.

我们的面向协议,真是太屌啦!!!代码的可维护性,扩展性,代码大大提升✌️

有时间]我会整理一下百度地图,和高德地图里的代码,也是采用工厂设计模式.

嘻嘻,学习中的分享.加深学习🙏

相关文章

  • 设计模式-工厂模式-开发案列-工厂实现

    接着 设计模式-工厂模式-原理剖析 继续剖析 1.工厂方法模式->开发案例?地图案例举例子? 工厂目的:用于创建对...

  • 设计模式-工厂模式-原理剖析

    内容一:设计模式? 创建型模式->5种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式 结构型模式->...

  • OkHttp设计模式剖析(七)迭代器模式

    上一篇 OkHttp设计模式剖析(六)外观模式 下一篇 OkHttp设计模式剖析(八)工厂模式 OKHTTP:...

  • 设计模式-工厂模式-抽象工厂模式

    接着 设计模式-工厂模式-开发案列-工厂实现 继续剖析 1、抽象工厂角色划分? 特点->比工厂方法产品种类多 地图...

  • Builder模式

    剖析 创建型的设计模式。关注对象创建的过程 与工厂模式的区别。 工厂模式关注的是生产的结果,而Builder关注的...

  • 设计模式四、抽象工厂模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 抽象工厂模式 ...

  • 工厂模式

    java设计模式-工厂模式 工厂模式: 工厂模式是java设计模式里最常用的设计模式之一。 工厂模式属于创建型模式...

  • 设计模式之工厂模式

    设计模式之工厂模式 标签(空格分隔): 设计模式 工厂模式 设计模式的感念 设计模式的应用 工厂设计模式的产生 工...

  • 设计模式三、工厂模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 工厂模式 在一...

  • 设计模式一、单例模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 简单单例(推荐...

网友评论

      本文标题:设计模式-工厂模式-原理剖析

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