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

  • 相关阅读:
    TestNG并发测试包
    @Valid的坑
    spring boot 下 spring security 自定义登录配置与form-login属性详解
    在eclipse上搭建springBoot
    分页问题
    谷歌chrome://chrome-urls/
    chrome中清除dns缓存
    pg中的非varchar类型的模糊搜索
    spring中用xml配置构造注入的心得
    Flask-Limiter使用详细说明
  • 原文地址:https://www.cnblogs.com/Dabay/p/361660.html
Copyright © 2011-2022 走看看