zoukankan      html  css  js  c++  java
  • 设计模式—抽象工厂

    定义

    抽象工厂是OOP的体现,抽象出行为(接口),面向接口编程

    现实

    汽车厂的冲压设备,冲压前车门,后车门只需要修改冲压设备的冲头(前车门冲压头,后车门冲压头),只需修改配置,调出对应的冲头

    例子

    AbstractFactory:抽象工厂类

    ISpeak:speak方法,说明是能说的对象

    Chinese:说中国话

        public class AbstractFactory
        {
            /// <summary>
            /// 获取能说话的对象
            /// </summary>
            /// <returns></returns>
            public static ISpeak GetCanSpeakObject()
            {
               var speakTypeName= ConfigurationManager.AppSettings.Get("type");
               var speakType=  Type.GetType(speakTypeName);
                var assembly = Assembly.GetCallingAssembly();
                return (ISpeak)assembly.CreateInstance("大话设计模式.American");
            }
        }
    namespace 大话设计模式
    {
        public interface ISpeak
        {
            string Speak();
        }
    }
    namespace 大话设计模式
    {
        public class American : ISpeak
        {
            public string Speak()
            {
                return "我说英语!";
            }
        }
    }
    namespace 大话设计模式
    {
        public class Chinese : ISpeak
        {
            public string Speak()
            {
                return "我说中国话!";
            }
        }
    }
    namespace 大话设计模式
    {
        public class Japanese : ISpeak
        {
            public string Speak()
            {
                return "亚美爹!";
            }
        }
    }

    如果现在这个系统给中国用就实现Chinese对象,以次类推

    工厂类:通过读取配置文件,实例化对应的实体对象。

  • 相关阅读:
    cookie小结
    WEB服务器,TOMCAT和servlet之间的关系
    HTTP协议基础总结
    servlet总结
    注解总结
    常使用的String方法
    变量&&常量
    标识符&&注释&&关键字
    配置环境变量&&OpenJDK和OracleJDK区别
    逆向工程__Generate插件安装 && xml配置文件解析 &&使用反向生成代码 && 接口说明
  • 原文地址:https://www.cnblogs.com/cainiaoguoshi/p/3447792.html
Copyright © 2011-2022 走看看