网站首页 > 教程分享 正文
定义:为创建一组相关或相互依赖的对象提供一个接口,而无需指定他们的具体实现类。
抽象工厂是工厂方法模式的升级版本,在有多个业务品种或者多个业务分类时,通过抽象工厂产生我们需要的对象,接下来看一下通用代码。
抽象产品类:
one产品的实现类:
two产品实现类与one产品实现类类似不再赘述。
抽象工厂类(有几种产品就有几个方法):
A等级产品的具体工厂实现类:
B等级产品的具体工厂实现类:
有几个等级的产品,就有几个具体工厂实现类。
场景类:
通用代码就像上面那样,感觉比工厂模式复杂点,但是封装性很好,同时缺点也暴露出来了,通过看代码就知道难以扩展(这里指扩展产品品种很难,但是扩展产品等级还是比较容易的),严重违反了开闭原则。
至于使用场景,可以这么想,如果开发一个应用需要在多个平台上使用,比如windows,linux,android。这是就可以使用这种模式了。
猜你喜欢
- 2024-10-18 设计模式之 抽象工厂(抽象工厂模式的简单应用)
- 2024-10-18 Aha!设计模式(3)-抽象工厂(2)(抽象工厂模式结构图)
- 2024-10-18 Java经典设计模式-抽象工厂模式(抽象工厂模式在spring的应用)
- 2024-10-18 Java高级编程细节——工厂模式之抽象工厂
- 2024-10-18 java与设计模式-简单工厂-工厂方法-抽象工厂
- 2024-10-18 简单工厂,工厂方法,抽象工厂(简单工厂,工厂方法,抽象工厂区别)
- 2024-10-18 Aha!设计模式(1)-抽象工厂(1)(抽象工厂实例)
- 2024-10-18 抽象工厂模式(Abstract Factory)(抽象工厂模式的意图是)
- 2024-10-18 你还在new对象吗?用个“抽象工厂模式”生产对象它不香吗
- 2024-10-18 白话设计模式之抽象工厂模式(抽象工厂模式是简单工厂模式的升级版本)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)