zoukankan      html  css  js  c++  java
  • 《深入浅出设计模式》一书学习(.net版—简单工厂)

    代码
    深入浅出设计模式)设计模式--简单工厂

    ------------------------------

    code_xyz@sina.com

    -------------------------------

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace Factory_abstract
    {

    /*
    抽象产品,简单工厂模式所创建的实例的父类。它描述所有类的所有公共属性
    */
    abstract class EFT
    {
    public abstract void process();
    }

    /// <summary>
    /// 产品角色
    /// </summary>
    class VirtualCheck : EFT
    {
    public override void process()
    {
    Console.WriteLine(
    "虚拟电子票在交易");
    //throw new NotImplementedException();
    }
    }
    /// <summary>
    /// 产品角色
    /// </summary>
    class Carsh : EFT
    {
    public override void process()
    {
    Console.WriteLine(
    "现金在交易");
    //throw new NotImplementedException();
    }
    }

    /// <summary>
    /// 工厂角色
    /// </summary>
    ///
    /*
    * 是简单工厂模式的核心,它负责实现创建所有是实例的内部逻辑,工厂类可以被外界直接调用,创建所需的产品对象!
    *
    */
    class EFTFactory
    {
    public EFT CreatEFT(string type)
    {
    switch (type.ToLower())
    {
    case "virtualcheck":
    return new VirtualCheck();
    case "carsh":
    return new Carsh();
    default: return null;
    }
    }


    }


    /// <summary>
    /// 客户应用测试
    /// </summary>
    class client
    {
    static void Main(string[] args)
    {
    EFT eft;
    EFTFactory eftCreator
    = new EFTFactory();
    eft
    = eftCreator.CreatEFT("VirtualCheck");
    eft.process();


    eft
    = eftCreator.CreatEFT("Carsh");
    eft.process();
    Console.ReadKey();
    }
    }
    }

    ------------------------------------------------------------------------------------------------------------------------------------------------------

    优点:高内聚。

    缺点:却高耦合!
  • 相关阅读:
    作业信息获取
    SQL Server数据库性能监控计数器
    c# 索引器學習
    C# DataGridView 小技巧
    C# DataTable 小技巧
    c# 小技巧
    C# new,Virtual,abstract,sealed,Override的簡單理解
    C# 位操作符
    C# 類型小技巧
    C# partial 局部类型
  • 原文地址:https://www.cnblogs.com/shenlian/p/1882553.html
Copyright © 2011-2022 走看看