社内で新しいプロジェクトを開始しました。次のようにアーキテクチャを完成させます
次のように 5 つの異なるプロジェクトがあります。
1) 以下のように DataContract を含む BusinessEntities(Class Library)
[DataContract]
public class Cities
{
/// <summary>
/// Gets or sets City Id
/// </summary>
[DataMember]
public int Id { get; set; }
/// <summary>
/// Gets or sets City name
/// </summary>
[DataMember]
[Display(Name = "CityName", ResourceType = typeof(DisplayMessage))]
[Required(ErrorMessageResourceName = "CityName", ErrorMessageResourceType = typeof(ErrorMessage))]
[RegularExpression(@"[a-zA-Z ]*", ErrorMessageResourceName = "CityNameAlphabates", ErrorMessageResourceType = typeof(ErrorMessage))]
[StringLength(50, ErrorMessageResourceName = "CityNameLength", ErrorMessageResourceType = typeof(ErrorMessage))]
public string Name { get; set; }
}
2) を含むインターフェース
[ServiceContract]
public interface ICity : IService<CityViewModel>
{
[OperationContract]
Status Add(Cities entity);
}
3) WCF サービスの実装を含む DAL
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class City : ICity
{
public Status Add(Cities entity)
{
//Insert Logic goes here
}
}
4) WCF サービスを呼び出す Web コンポーネント
public class City
{
public static Status Add(Cities entity)
{
using (var service = new WcfServiceProvider<ICity>())
{
return service.GetProxy().Add(entity);
}
}
}
5) webcomponent を呼び出してサービスにアクセスする UI (Asp.Net MVC Project)
City.Add(entity);
ここで、この構造を完成させます。しかし、問題は単体テストにリポジトリ パターンを使用する方法ですか? はいの場合、この構造でリポジトリパターンを使用することは可能ですか? または、使用する必要がある他のパターンはありますか?