• 跟着实例学习设计模式(5)-工厂方法 、抽象工厂的差别


    工厂方法和抽象工厂都属于工厂模式。那么它们究竟有什么差别呢?让我们来比較一下。

    首先我们从工厂接口的角度来分析一下。

    工厂方法:

                    工厂方法是创建一个产品的不同功能的创建接口。而且同分类不同功能的产品返回的产出物还得是同样的。比如:汽车的发动机的制造就能够使用工厂方法,发动机分为直喷式发动机、涡轮增压式发动机。

    抽象工厂:

                    抽象工厂是创建具有级联关系的一系列产品的。比如汽车。汽车由发动机、油箱、轮胎等组成,那么个这样一个产品是由一些相关联的产品组成的而且又能够分系列(卡车、小汽车、跑车)的产品就能够使用抽象工厂来实现。每一个工厂是创建一个产品的一些相依赖的产品(创建发动机、创建油箱)。

    其次我们从创建的产品的角度来分析:

    工厂方法创建出来的产品是一层的,没有组成关系。

    比如:发动机、或是加法、减法、乘法等。

    抽象工厂创建的产品是多层的。而且层级之间可能存在依赖关系。比如:汽车由卡车、小汽车、跑车等抽象而来,汽车由发动机、油箱、轮胎等组成。再比方:訪问不同数据库。数据库有mysql、sql server之分 。mysql中实用户表、部门表。

    以上的分析可能还非常浅显,我是希望大家能够自己写一下这两种模式,从中可能会自己体会出来他们的差别。



  • 相关阅读:
    题目834-组队-nyoj20140818
    题目806-HEIHEI的心情-nyoj20140818
    如何配置:断路器Dashboard监控仪表盘
    Hystrix降级策略和超时调整
    微服务调用时的超时异常,使用feign的时候负载均衡策略的调整
    SpringCloud服务间调用:负载均衡策略调整
    微服务调用方式ribbon
    FastJson:Json树的CRUD操作方法实现
    java 面向对象String类
    java 面向对象内部类
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/6846116.html
Copyright © 2020-2023  润新知