zoukankan      html  css  js  c++  java
  • 抽象工厂方法

    工厂方法中,每个工厂类,只完成单个实体的创建。抽象工厂方法可以优化此缺点。

    UML图:

    示例代码:

        public interface ICar
        {
            string GuaDang();
        } 
        public class ShouDong:ICar
        {
            public string GuaDang()
            {
                return "我是手动挡";
            }
        }
        public class ZiDong:ICar
        {
            public string GuaDang()
            {
                return "我是自动挡";
            }
        }
        public interface IPlane
        {
            string Fei();
        }
        public class ShouDongPlane:IPlane
        {
            public string Fei()
            {
                return "手动飞机起飞";
            }
        }
        public class ZiDongPlane:IPlane
        {
            public string Fei()
            {
                return "自动飞机起飞";
            }
        }
        public interface IFactory
        {
            ICar GetCar();
            IPlane GetPlane();
        }
        class ShouDongFactory: IFactory
        {
            public ICar GetCar()
            {
                return new ShouDong();
            }
    
            public IPlane GetPlane()
            {
                return new ShouDongPlane();
            }
        }
        public class ZiDongFactory : IFactory
        {
            public ICar GetCar()
            {
                return new ZiDong();
            }
    
            public IPlane GetPlane()
            {
                return new ZiDongPlane();
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                IFactory fac = new ShouDongFactory();
                Console.WriteLine(fac.GetCar().GuaDang());
                Console.WriteLine(fac.GetPlane().Fei());
    
                IFactory facA = new ZiDongFactory();
                Console.WriteLine(facA.GetCar().GuaDang());
                Console.WriteLine(facA.GetPlane().Fei());
            }
        }
  • 相关阅读:
    汉语-词语:心性
    CE-计算机系统:并行处理
    CE-操作系统:程序并发执行
    CE-计算机系统:单道批量处理系统
    CE-计算机系统:多道程序
    CE-计算机系统:并行性
    生活灵感汇总
    【剑指Offer】俯视50题之21
    Single Number II
    汉诺塔
  • 原文地址:https://www.cnblogs.com/chenyishi/p/9105639.html
Copyright © 2011-2022 走看看