zoukankan      html  css  js  c++  java
  • 简单工厂

    本简单工厂,

    将实体类名字写入配置文件,工厂类通过反射穿件实体

    主方法

    class Program
        {
            static void Main(string[] args)
            {
                IPeople p = Factory.CreateInstanceReflect();
                p.Say();
    
                Console.WriteLine("-------------");
    
                IPeople p1 = new Factory().CreateInstanceReflect1();
                p1.Say();
    
                Console.ReadKey();
            }
        }

    工厂方法

    public class Factory
        {
            public static IPeople CreateInstanceReflect()
            {
                string config = System.Configuration.ConfigurationSettings.AppSettings["InstanceReflect"];
                string assemblyName=config.Split(',')[0];
                string typeName = config.Split(',')[1];
                return (IPeople)Activator.CreateInstance(assemblyName, typeName).Unwrap();
            }
    
            public IPeople CreateInstanceReflect1()
            {
                string config = System.Configuration.ConfigurationSettings.AppSettings["InstanceReflect1"];
    
                return (IPeople)this.GetType().Assembly.CreateInstance(config); ;
            }
        }

    配置文件

      <appSettings>
        <add key="InstanceReflect" value="简单工厂模式,简单工厂模式.Teacher"></add>
        <add key="InstanceReflect1" value="简单工厂模式.Student"></add>
      </appSettings>

    其他基础类

      namespace 简单工厂模式
    {
      public interface IPeople
        {
            void Say(); 
        }
    
        public class Student:IPeople
        {
            public void Say()
            {
                Console.WriteLine("创建了学生");
            }
        }
    
    
        public class Teacher :IPeople
        {
            public void Say()
            {
                Console.WriteLine("创建了老师");
            }
        }
    }
  • 相关阅读:
    oracle用户和权限
    oracle中的索引
    oracle中的序列
    oracle中的视图
    oracle PL/SQL块
    oracle创建表案列
    半导体随机存储器
    IEEE754标准
    定点数的移位操作
    真值,原码,反码以及补码和移码总结
  • 原文地址:https://www.cnblogs.com/zhuyapeng/p/7062196.html
Copyright © 2011-2022 走看看