工厂模式之抽象工厂

原创 2018年04月17日 13:17:55

Factory设计模式之抽象工厂

Demo地址

https://github.com/rocky123shine/AbsFactory180417

概念

定义一个用于创建对象的统一的接口,然后由子类去实现。工厂模式分为简单工厂和抽象工厂。本文将对抽象工厂做个简单的了解和使用。
抽象工厂给客户端提供一个接口,可以创建多个产品族中的产品对象。

AbsFactory使用条件

1.系统中有多个产品族,而系统一次只可能消费其中一族产品
2.同属于同一个产品族的产品以其使用

AbsFactory实现和使用

AbsFactory实现

  1. 两个抽象类,AbsFactory和AbsObject
  2. AbsFactory中提供创建对象的方法并且返回AbsObject
  3. AbsObject中提供对象通用的方法
  4. 具体的Object实现,具体的对象的功能模块的抽象和实现
  5. 具体的工厂实现
  6. 创建具体的工厂和对象类

AbsFactory使用

  AbsFactory factory = new BaiDuFactory();
        AbsMapView mapView = factory.createMapView();
        AbsMapLocation mapLocation = factory.createMapLocation();
        AbsMapNavigation mapNavigation = factory.createMapNavigation();
        mapNavigation.turnByTurn();
        mapLocation.location();

Factory实际应用举例

例如在开发中 我们呀开发地图模块,其中有百度地图,高德地图,谷歌地图等可供用户选择。在选择的过程中就需要实现不同地图间的切换。如果我们使用工厂模式,那么无论以后再增加其他地图,只要我们换一下具体对象就 能轻松实现,代码的扩展性可维护性大大提高,此时如果在加上地图的定位和导航功能 简单工厂明显不够用,这时候 抽象工厂就是很好的选择

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/rocky123shine/article/details/79973405

设计模式之抽象工厂模式详解与应用(3)

设计模式分为三大类: 创建型模式:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 设计模式重要性:对于设计、对于理解框架、对于面试、对于工作
  • 2018年01月22日 00:02

简单工厂模式、工厂方法模式、抽象工厂模式 之间的对比

简单工厂模式、工厂方法模式、抽象工厂模式 之间的对比
  • u013761036
  • u013761036
  • 2016-06-23 20:10:45
  • 2652

抽象工厂模式,工厂方法模式区别

抽象工厂模式 转载自:https://www.shiyanlou.com/courses/document/867 一、本节目标我们本节课程主要介绍【抽象工厂模式】的相关知识,将会涉及以下内容: ...
  • u011532367
  • u011532367
  • 2015-11-29 12:50:59
  • 2196

设计模式(2)-抽象工厂模式(Abstract Factory)与生成器模式(Builder)模式

抽象工厂和生成器模式常常被混淆,因为他们之间实在有很多的相似点,比如都是创建型模式,都隐藏产品具体细节,都向用户提供一个包含一系列接口的对象。 这个说法比较抽象。我们通过实现来看看为什么容易混淆。抽...
  • m0_37182645
  • m0_37182645
  • 2017-11-06 22:42:24
  • 262

Asp.net的抽象工厂模式

为什么要使用工厂模式呢?首先
  • wingahi
  • wingahi
  • 2014-05-26 13:40:20
  • 1855

抽象工厂模式和工厂方法模式区别

首先来看看这两者的定义区别: 工厂模式:定义一个用于创建对象的借口,让子类决定实例化哪一个类 抽象工厂模式:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类        个...
  • liu88010988
  • liu88010988
  • 2016-03-04 09:48:57
  • 5393

Java设计模式—工厂方法模式&抽象工厂模式

工厂方法模式与抽象工厂模式都是设计模式中重要而且常见的模式。 通用类图如下:         在工厂方法模式中,抽象产品类Product负责定义产品的共性,实现对事物最抽象的定义;C...
  • qq_25827845
  • qq_25827845
  • 2016-09-11 15:07:17
  • 6250

Android源码分析之抽象工厂模式

Android源码之抽象工厂模式 一个对象族或者一组没有任何关系的对象都有相同的约束,都可以使用抽象工厂模式(工厂方法模式是一个具体工厂创建一个类型的对象,抽象工厂模式是一个具体工厂创建一个产品族或...
  • bboyfeiyu
  • bboyfeiyu
  • 2014-04-22 14:51:56
  • 3669

简单工厂、工厂方法和抽象工厂模式示例

我们常常会听到“工厂方法”设计模式,也常常看到简单工厂、工厂方法和抽象工厂模式被人们放在一起进行对比。不仅因为它们的名字中都有“工厂”二字,而且它们的确看起来实在是太像了。我今天也来写一写我对这三种设...
  • zhutulang
  • zhutulang
  • 2015-02-05 22:32:09
  • 3115

设计模式之--生成器模式与抽象工厂模式的比较

从形式上来讲,通过角色合并,方法功能的转变,抽象工厂可以和生成器模式形式上取得一致(比如抽象工厂只处理一个产品族,工厂方法都处理同一个产品)。但注意,这仅仅是形式上的,实际上,抽象工厂和生成器模式有着...
  • hawksoft
  • hawksoft
  • 2011-07-22 20:12:53
  • 5328
收藏助手
不良信息举报
您举报文章:工厂模式之抽象工厂
举报原因:
原因补充:

(最多只允许输入30个字)