zoukankan      html  css  js  c++  java
  • .Net 抽象工厂(Abstract Factory)

    目录

    1. 定义
    2. UML
    3. 参与者(角色)
    4. 示例(分析)

    定义:

    抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式针对的是多个产品等级结构。

    UML:

    参与者:

    抽象工厂(Abstract Factory)角色:声明一个抽象方法用于创建抽象产品业务。

    具体工厂(Concrete Factory)角色:实现这个抽象工厂的具体对象。

    抽象产品(Abstract Product)角色:声明一个抽象的产品对象

    具体产品(Concrete Product)角色:实现抽象产品对象。

    客户 (Client) 角色:调用抽象工厂来实现某个具体的产品。

     

    示例分析:

    从上面的UML来看,ProductA继承了AbstractProductA这个抽象类,这个抽象类中放了一些抽象方法,这些方法必须有子类来实现它。

    由于产品的多样化,必然会实例化多个产品,于是我们引入了抽象工厂(AbstractFactory)。抽象工厂里面放了创建某个产品的抽象方法。有了这个抽象工厂,我们必须要实现这个抽象工厂吧,于是有了具体工厂(ConcreteFactory)。那么我们调用方(Client)只要调用抽象工厂来调用该工厂相应的方法就可以了。

    image

    代码(Product)

    代码 AbstractProduct

    代码 AbstarctFactory

    代码 ConcreteFactory

    代码 Client

    代码




    作者:dingli
    出处:http://www.cnblogs.com/dingli/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    oracle 内连接、外连接、自然连接、交叉连接练习
    oracle语句练习
    简单的oracle sql语句练习
    CountDownLatch 使用方法
    T1,T2,T3 三个线程顺序执行
    【2018 校招真题】斐波那契数列
    使用自己的域名解析 cnblogs 博客
    在 github 中新建仓库后,如何上传文件到这个仓库里面。
    数据库常用语句整理
    使用 JQuery 实现将 table 按照列排序
  • 原文地址:https://www.cnblogs.com/dingli/p/2255276.html
Copyright © 2011-2022 走看看