我正在开发一个 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;
}
}
}