zoukankan      html  css  js  c++  java
  • 设计模式之抽像工厂

     class User
        {
            private int _id;
    
            public int Id
            {
                get { return _id; }
                set { _id = value; }
            }
            private string _name;
    
            public string Name
            {
                get { return _name; }
                set { _name = value; }
            }
        }
    
        interface IUser
        {
            User GetUser(int id);
            void Insert(User user);
        }
    
        class SqlserverUser : IUser
        {
            public void Insert(User user)
            {
                Console.WriteLine("在Sql Server中给User表增加一条记录 ");
            }
    
            public User GetUser(int id)
            {
                Console.WriteLine("在Sql Server中根据ID得到User表中一条 记录");
                return null;
            }
        }
        class AccessUser : IUser
        {
            public void Insert(User user)
            {
                Console.WriteLine("在Access中给User表增加一条记录 ");
            }
    
            public User GetUser(int id)
            {
                Console.WriteLine("在Access中根据ID得到User表中一条 记录");
                return null;
            }
        }
    
        class DataAccess
        {
            private static readonly string AssemblyName = "程序集名称";
            private static readonly string db = "Sqlserver";  //读配置文件
    
            public static IUser CreateUser()
            {
                string className = AssemblyName + "." + db + "User";
                IUser _user = (IUser)Assembly.Load(AssemblyName).CreateInstance(className);
                return _user;
            }
        }
    
    
        class Program
        {
            static void Main(string[] args)
            {
                User user = new User();
    
                IUser su = DataAccess.CreateUser();
    
                su.Insert(user);
                su.GetUser(1);
    
                Console.ReadKey();
            }
        }
    
  • 相关阅读:
    centos7 yum错误相关
    centos7 jenkins
    vim 常用命令
    Effective STL(第7条)
    【hihoCoder】1049.后序遍历
    C++ 单元测试 Cpputest
    【hihoCoder】1041. 国庆出游
    LeetCode(43. Multiply Strings)
    【LeetCode】16. 4Sum
    【LeetCode】1. Two Sum
  • 原文地址:https://www.cnblogs.com/xdpxyxy/p/3058626.html
Copyright © 2011-2022 走看看