具有工厂模式的n层架构

时间:2018-03-01 08:12:51

标签: c# asp.net factory-pattern

我是工厂模式的新手,我想在我的一个项目中使用工厂模式,下面是我为我的项目设计的架构。

我的解决方案有以下项目:

  1. 数据 - 这将有实体框架6,我使用数据库第一种方法。
  2. DataAccess - 这将调用Data Project中的函数
  3. 实体 - 包含项目的所有实体
  4. 核心 - 这将包含所有业务逻辑和计算。
  5. ServiceInterface - 这将包含核心项目中类的所有接口。
  6. ServiceFactory - 这将具有将从Core Project创建类实例的类。
  7. 现在所有上述项目都有一个名为Users的公共类。

    我在Entities Project中定义了属性,这些属性与IUser接口一起继承到Core项目,该接口具有方法声明。

    这是我的Entities.User类的外观:

    public class User
    {
        public int UserId {get; set;}
        public string Username {get; set;}
        public string Displayname {get; set;}
    }
    

    My Core.Users如下所示

    public class Users : Entities.Users, IUsers
    {
        public void Add()
        {
            //calling Data.Users function here.
        }
    }
    

    My Interface.Users如下所示

    public interface IUsers
    {
        void Add();
    }
    

    我的ServiceFactory.Users如下所示

    public class FactoryService
    {
        public static IUsers CreateUserInstance()
        {
            return new Core.Users();
        }
    }
    

    现在在我的主项目中我正在使用它,如下面

    IUsers oUser = FactoryService.CreateUserInstance();
    

    现在我的问题是,我无法使用上面的oUser对象访问主项目中的任何实体。

0 个答案:

没有答案