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

    今天看了第一个Abstract Factory, 自己尝试写了一个Demo, 不知道理解得正确否, 请指教! 谢谢
    抽象铸币厂(生产money)
    public abstract class MoneyMaker
    {
        
    public abstract Ten MakeTen();
        
    public abstract Hundred MakeHundred();
    }
    中国的铸币厂(能生产RMB)
    public class ChinaMoneyMaker : MoneyMaker
    {
        
    public override Ten MakeTen()
        
    {
            
    return new RMBTen();
        }

            
        
    public override Hundred MakeHundred()
        
    {
            
    return new RMBHundred();
        }

    }
    美国的铸币厂(能生产美元)
    public class UsMoneyMaker : MoneyMaker
    {
        
    public override Ten MakeTen()
        
    {
            
    return new DollarTen();
        }

        
        
    public override Hundred MakeHundred()
        
    {
            
    return new DollarHundred();
        }

    }
    十元的货币(抽象基类,有支付的功能)
    public abstract class Ten
    {
        
    public abstract void Pay();
    }
    百元的货币
    public abstract class Hundred
    {
        
    public abstract void Pay();
    }
    人民币的十元
    public class RMBTen : Ten
    {
        
    public override void Pay()
        
    {
            Console.WriteLine(
    "10 RMB have been pay.");
        }

    }
    人民币的百元, 美元的十元, 美元的百元 (略...)
    测试程序
    public class App
    {
        
    public static void Main()
        
    {
            MoneyMaker mm 
    = new ChinaMoneyMaker();
            Ten t 
    = mm.MakeTen();
            t.Pay();
            Hundred h 
    = mm.MakeHundred();
            h.Pay();
            mm 
    = new UsMoneyMaker();
            t 
    = mm.MakeTen();
            t.Pay();
            h 
    = mm.MakeHundred();
            h.Pay();
            Console.ReadLine();
        }

    }

    源程序下载 AbstractFactory Demo

  • 相关阅读:
    023 AQS--JUC的核心
    022 Future接口
    021 Callable接口
    020 线程的综合考虑
    019 线程协作
    命令,lldb,llvm,gdb,gcc,
    @class,import,
    arc,自动引用计数,
    写在哪里,
    40岁生日,
  • 原文地址:https://www.cnblogs.com/Dabay/p/361660.html
Copyright © 2011-2022 走看看