我正在设计一个数据驱动的 Windows 应用程序,它不是由底层 SQL Server 而是由 WCF 服务提供的,以便允许本地和远程访问。
所述 WCF 为检索用户、库存、客户等提供特定功能,并实际执行 ADO 操作,大致如下:
[OperationContract]
UserAdapter GetUserByWindowsIdentity(string Domain, string Account);
返回以下之一:
[DataContract]
public class UserAdapter
{
[DataMember]
public int? ID;
[DataMember]
public string Domain;
[DataMember]
public string Account;
[DataMember]
public string Name;
}
我不想在我的 WPF 前端应用程序中对我的 WCF 客户端进行特定引用,而是想在两者之间的另一层抽象一些进一步的功能 - 例如,通过他们的 WindowsIdentity 验证用户登录既不属于数据层,也不属于演示层,而是一个中间业务逻辑层。
我不确定该怎么做。我希望在我的表示层中能够执行以下操作:
User.Login();
并让用户对象根据我的 UserAdapter 类抽象域、帐户等相同的属性,但我不能子类化它,因为我不能向下转换我的数据层返回的对象。
任何我可以接受的建议,包括“把它拿出来”,都将不胜感激。谢谢你们!