zoukankan      html  css  js  c++  java
  • C#设计模式 抽象工厂模式

    什么是抽象工厂设计模式


    抽象工厂角色:担任这个角色的是工厂方法模式的核心,是工厂的父类。通常使用接口或抽象类实现。
    具体工厂角色:这个角色直接在客户端的调用下创建产品的实例。这个角色含有选择合适的产品对象的逻辑,而这个逻辑是与应用系统的商业逻辑紧密相关的。通常使用具体的类实现。
    抽象产品角色:担任这个角色的类是创建的对象的父类,或它们共同拥有的接口。通常使用接口或抽象类实现这一角色。
    具体产品角色:抽象工厂模式所创建的任何产品对象都是某一具体产品类的实例。这是客户端最终需要的东西。通常使用具体类实现这个角色。



    抽象工厂设计模式中各个象的主要功能、职责

    1、用抽象工厂生产抽象产品


    2、用实体工厂生产实体产品


    3、用抽象产品提供实体产品访问接口


    4、用实体产品实现自己的功能


    代码接上一节 简单工厂设计模式

    namespace simple_factory
    {
    	public abstract class AppFactory
    {
         public abstract IApparel CreateApparel();
    }
    public class DressShirtFactory : AppFactory
    {
         public override IApparel CreateApparel()
         {
              return new DressShirt();
         }
    }
    public class SportShirtFactory : AppFactory
    {
         public override IApparel CreateApparel()
         {
              return new SportsShirt();
         }
    }
    
    
    
    	class Program
    	{
    		public void CollectApparel(AppFactory factory)
    {
    	   IApparel apparel = factory.CreateApparel();
    }
    		public static void Main(string[] args)
    		{
    			AppFactory factory = new DressShirtFactory();
    IApparel obj = CollectApparel(factory);
    string shirtType = obj.ShowMe();
    Console.WriteLine(shirtType);
    
    			Console.ReadKey(true);
    		}
    	}
    }




  • 相关阅读:
    操作符详解(思维导图)
    数组(C语言、思维导图)
    函数(C语言、思维导图)
    分支语句与循环语句(知识点思维导图)
    单链表及其基本操作
    顺序表
    时间复杂度与空间复杂度
    javascript基础知识show
    Java中的四舍五入
    JavaScript中数组迭代方法(jquery)
  • 原文地址:https://www.cnblogs.com/bryce1010/p/9387145.html
Copyright © 2011-2022 走看看