0

我正在开发一个 mvc 应用程序只是为了练习一些最佳实践(尝试以“正确”的方式做所有事情)。更准确地说,我想为聊天服务构建一个带有一些 ajax 端点的 MVC 应用程序。

我想让那个更灵活一点,所以我想用它interfaces来定义使用对象的结构。然后,这些接口应由 DataLayer 项目实现。

现在我想在 Mvc-Project 中定义这些接口,并将数据层的东西放在一个单独的项目中。不过,这会导致循环引用,我认为这是不好的做法。

解决此问题的“正确”方法是什么?我的做法合理吗?

一些代码来显示我想要归档的内容:

Mvc 项目:

public interface IChatUser
{
    Guid    UserID  { get; }
    string  Name    { get; }
}

数据层项目(类的一部分):

public class User : IChatUser
{
    private Guid _userID;
    public  Guid UserID
    {
        get
        {
            return _userID;
        }
    }
    public string Name
    {
        get
        {
            return this.LastName + " ," + this.FirstName;
        }
    }
}
4

1 回答 1

1

您是否有理由不只是使用 NHibernate?如果您是,那么您的控制器只能访问 Session 对象以执行您要运行的任何基本查询。

复杂的东西被分解成单独的查询或命令对象。

我们使用此处讨论的内容构建了一个完整的 MVC 应用程序:http: //ayende.com/blog/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-应用程序并对结果非常满意。

于 2012-07-04T12:55:57.660 回答