いくつかのベストプラクティスを実践するためだけに mvc アプリケーションを開発しています (すべてを「正しい」方法で実行しようとしています)。より正確に言うと、チャット サービス用のいくつかの ajax エンドポイントを使用して MVC アプリケーションを構築することを考えました。
もう少し柔軟にしたかったのでinterfaces
、使用するオブジェクトの構造を定義するために を使用することを考えました。これらのインターフェイスは、DataLayer プロジェクトによって実装する必要があります。
ここで、Mvc-Project でこれらのインターフェイスを定義し、データレイヤーのものを別のプロジェクトに配置したいと考えました。ただし、これは循環参照につながりますが、これは悪い習慣だと思いました。
この問題を解決する「正しい」方法は何ですか? 私のアプローチは合理的ですか?
アーカイブしたいものを示すコード:
Mvc プロジェクト:
public interface IChatUser
{
Guid UserID { get; }
string Name { get; }
}
Datalayer プロジェクト (クラスの一部):
public class User : IChatUser
{
private Guid _userID;
public Guid UserID
{
get
{
return _userID;
}
}
public string Name
{
get
{
return this.LastName + " ," + this.FirstName;
}
}
}