JAVA设计模式之抽象工厂模式
抽象工厂模式代码
产品类:
- //发动机以及型号
- public interface Engine {
- }
- public class EngineA extends Engine{
- public EngineA(){
- System.out.println("制造-->EngineA");
- }
- }
- public class EngineBextends Engine{
- public EngineB(){
- System.out.println("制造-->EngineB");
- }
- }
- //空调以及型号
- public interface Aircondition {
- }
- public class AirconditionA extends Aircondition{
- public AirconditionA(){
- System.out.println("制造-->AirconditionA");
- }
- }
- public class AirconditionB extends Aircondition{
- public AirconditionB(){
- System.out.println("制造-->AirconditionB");
- }
- }
创建工厂类:
- //创建工厂的接口
- public interface AbstractFactory {
- //制造发动机
- public Engine createEngine();
- //制造空调
- public Aircondition createAircondition();
- }
- //为宝马320系列生产配件
- public class FactoryBMW320 implements AbstractFactory{
- @Override
- public Engine createEngine() {
- return new EngineA();
- }
- @Override
- public Aircondition createAircondition() {
- return new AirconditionA();
- }
- }
- //宝马523系列
- public class FactoryBMW523 implements AbstractFactory {
- @Override
- public Engine createEngine() {
- return new EngineB();
- }
- @Override
- public Aircondition createAircondition() {
- return new AirconditionB();
- }
- }
客户:
- public class Customer {
- public static void main(String[] args){
- //生产宝马320系列配件
- FactoryBMW320 factoryBMW320 = new FactoryBMW320();
- factoryBMW320.createEngine();
- factoryBMW320.createAircondition();
- //生产宝马523系列配件
- FactoryBMW523 factoryBMW523 = new FactoryBMW523();
- factoryBMW320.createEngine();
- factoryBMW320.createAircondition();
- }
- }
关于抽象工厂模式与工厂方法模式的区别,这里就不说了,感觉多看几遍例子就能理解,还有很多提到的产品族、等级结构等概念,说了反而更难理解。
作者:jason0539
博客:http://blog.csdn.net/jason0539(转载请说明出处)
扫码关注我微信公众号
转载于:https://www.cnblogs.com/telwanggs/p/6781387.html
JAVA设计模式之抽象工厂模式相关推荐
- Java设计模式之 抽象工厂模式实验报告书
目录 Java设计模式之 1 抽象工厂模式实验报告书 1 实验四:抽象工厂模式 2 一.实验目的 2 二.实验内容 2 三.实验步骤 2 3.1抽象工厂模式:电器工厂 2 3.2 car 6 3.3 ...
- Java 设计模式之抽象工厂模式
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂.该超级工厂又称为其他工厂的工厂.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 在抽 ...
- Java设计模式:抽象工厂模式
1. 定义 抽象工厂模式,即Abstract Factory Pattern,提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类:具体的工厂负责实现具体的产品实例. 抽象工厂模式与工厂 ...
- 最简单java设计模式:抽象工厂模式
前言 在前一篇文章讲解了一下简单工厂模式和工厂方法模式,这篇文章再把抽象工厂模式讲解一下. 一.什么是抽象工厂模式 抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的.抽象工厂模式可以向客户端提 ...
- JAVA设计模式之抽象工厂模式和代理模式
目录 一.抽象工厂模式 1.1.模式的定义与特点 1.2.模式的结构 二.代理模式 2.1代理模式的定义与特点 2.2代理模式的结构与实现 一.抽象工厂模式 1.1.模式的定义与特点 抽象工厂(Abs ...
- JAVA设计模式之——抽象工厂模式
文章目录 一.类型 二.定义 三.参与者 四.类图 五.示例 六.适用情况 参考文章 一.类型 创建型模式 二.定义 定义一个接口,用于创建一组相关或有依赖关系的对象,而且无需指定这些对象具体的类. ...
- Java设计模式:抽象工厂模式--农场的季节生产对应水果举例
/*** 农场的抽象.不同季节生产不同的蔬菜和水果.*/ public interface Farm {//不同季节,不同蔬菜和水果.int WINTER = 1; //冬季.int SUMMER = ...
- 设计模式三—抽象工厂模式
设计模式三-抽象工厂模式 一.定义 抽象工厂模式是工厂方法模式的进一步抽象.如果产品簇中只有一种产品,则退化为工厂方法模式. 二.原理图 三.代码实例 * 苹果和土豆是园丁1的杰作 * 葡萄和西红柿是 ...
- java设计模式3种工厂模式
java设计模式3种工厂模式 2010-01-08 16:06:36| 分类: JAVA技术|举报|字号 订阅 下载LOFTER客户端 工厂模式分为三种: Simple Factory模式 专门定义 ...
最新文章
- .net中6个重要的基础概念:Stack, heap, Value types, reference types, boxing and Unboxing.
- laraver 用户认证auth、数据迁移和填充
- javascript之回调函数小知识
- Latex 数学公式使用入门
- python怎么用lambda和map函数_Python之lambda匿名函数及map和filter的用法
- 【HTML5】网页元素的拖放操作
- python split()方法_聊聊 Python 的单元测试框架(一):unittest
- athena sql_使用SQL Server查询Amazon Athena外部表
- XBMC Skinning Manual
- Ubuntu 18.04 Server必须使用netplan命令配置IP地址
- 安居客Android项目架构演进
- 三个比较经典的策略: Dual Thrust、R-Breaker、Dynamic Breakout II
- 让手机成为电脑的摄像头,Droidcam(linux) 的安装及使用
- 倾斜模型精细化处理_基于倾斜摄影三维建模的模型精细化修复方法研究
- 解决office怎么卸载都卸载不干净的终极办法。
- 控制服务器系统,控制服务器操作系统
- ONF测试工作张攀:OpenFlow控制器性能测试工具进展
- 最后一天了(再见了)
- 【无标题】2022年施工员-设备方向-通用基础(施工员)考试模拟100题及模拟考试
- 数据库 MySQL-window安装和卸载