抽象工厂-反射应用于总结

前言:
利用反射来创建用户表,前面用抽象工厂,简单工厂。等等做过要实例化哪个类的选项,这次试用反射来实现。

优点:
1 减少耦合性
2 方便替换
3 符合开放封闭性原则

格式:
Assembly.Loga(“程序集名称”).CreateInstance(“命名空间.类名称”)
解释:
程序集是给反射起的名字
类名是你要实例化的哪个具体类

客户端的用法:
抽象工厂

            User user = new User();
            Department dept = new Department();
             //区别
            IFactory factory = new AccessFactory();
            IUser iu = factory.CreateUser();
            iu.Insert(user);
            iu.GetUser(1);

            IDepartment id = factory.CreateDepartment();
            id.Insert(dept);
            id.GetDepartment(1);
            Console.Read();

反射

            User user = new User();
            Department dept = new Department();
            //区别
            IUser iu = DataAccess.CreateUser();

            iu.Insert(user);
            iu.GetUser(1);
      
            IDepartment id = DataAccess.CreateDepartment();
            id.Insert(dept);
            id.GetDepartment(1);

            Console.Read();

其他的还是和前面是一样的,就是在实例化和具体创建对象的具体方法换了。前面使用的是抽象工厂模式,在这使用的是 反射的方式实现的。

posted @ 2019-11-20 20:46  康世行  阅读(22)  评论(0编辑  收藏  举报