• (C#)工厂方法模式


    1.工厂方法模式

      第一了一个用于创建对象的接口,让子类自己决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

    *工厂方法模式即克服了简单工厂模式违反开放-封闭原则的缺点,又保留了封装对象创建过程的优点。


    2.实例

    namespace 工厂方法模式
    {
        class Program
        {
            static void Main(string[] args)
            {
                IFactory factory = new CUnderGraduate();
                Leifeng student = factory.CreateLeiFeng();
                student.Sweep();
                student.Wash();
                student.BuyRice();
    
                Console.ReadLine();
            }
        }
    
        /// <summary>
        /// 所有工厂中公共执行的操作的类
        /// </summary>
        class Leifeng
        {
            public void Sweep()
            {
                Console.WriteLine("扫地");
            }
            public void Wash()
            {
                Console.WriteLine("洗衣");
            }
            public void BuyRice()
            {
                Console.WriteLine("买米");
            }
        }
    
        /// <summary>
        /// 创建工厂接口
        /// </summary>
        interface  IFactory
        {
            Leifeng CreateLeiFeng();
        }
    
        /// <summary>
        /// 工厂需要实例化的类
        /// </summary>
        class UnderGraduate : Leifeng
        {}
    
        /// <summary>
        /// 工厂需要实例化的类
        /// </summary>
        class Voluteers:Leifeng
        { }
    
    
        /// <summary>
        /// 工厂,用来实例化类
        /// </summary>
        class CUnderGraduate:IFactory
        {
            public Leifeng CreateLeiFeng()
            {
                return new UnderGraduate();
            }
        }
    
        /// <summary>
        /// 工厂,用来实例化类
        /// </summary>
        class CVoluteers : IFactory
        {
            public Leifeng CreateLeiFeng()
            {
                return new Voluteers();
            }
        }
    
    }
    点赞鼓励下,(づ ̄3 ̄)づ╭❤~

    作者:君莫笑
           出处:https://www.cnblogs.com/Firepad-magic/
           Unity最受欢迎插件推荐:点击查看
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    关于tomcat
    java 判断字符串是否为数字(包含负数)
    poi
    (String)、toString、String.valueOf
    linux 运行jar包
    视图
    java 使进程停顿几秒
    linux_tomcat
    【HTML+CSS】七小时快速入门~~~~~~~
    关于CSS动画效果的图片展示
  • 原文地址:https://www.cnblogs.com/Firepad-magic/p/4704019.html
Copyright © 2020-2023  润新知