zoukankan      html  css  js  c++  java
  • 工厂方法模式

    简单工厂模式有一个缺点,就是增加子类的时候,需要修改工厂类里的switch。工厂方法模式可以优化简单工厂模式的这个缺点。

    UML图:

    示例代码:

        public interface ICar
        {
            string GuaDang();
        } 
        public class ShouDong:ICar
        {
            public string GuaDang()
            {
                return "我是手动挡";
            }
        }
        public class ZiDong:ICar
        {
            public string GuaDang()
            {
                return "我是自动挡";
            }
        }
        public interface ICarFactory
        {
            ICar GetCar();
        }
        class ShouDongFactory:ICarFactory
        {
            public ICar GetCar()
            {
                return new ShouDong();
            }
        }
        public class ZiDongFactory:ICarFactory
        {
            public ICar GetCar()
            {
                return new ZiDong();
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                ICarFactory fac = new ShouDongFactory();
                Console.WriteLine(fac.GetCar().GuaDang());
    
                ICarFactory facA = new ZiDongFactory();
                Console.WriteLine(facA.GetCar().GuaDang());
            }
        }
  • 相关阅读:
    c++类的知识点(1)
    并查集经典例题分析
    并查集
    bfs-迷宫
    出栈次序--数学归纳法--蓝桥
    九宫重排
    Tomcat详解
    寒假日记-第三天
    寒假日记-第二天(MySQL语句)
    Java学期总结
  • 原文地址:https://www.cnblogs.com/chenyishi/p/9105353.html
Copyright © 2011-2022 走看看