【发布时间】:2010-05-20 05:24:10
【问题描述】:
我正在使用 asp.net MVC 2 开发一个站点。 IUser 用于模型和视图之间的接口,以更好地分离关注点。然而,这里的事情变得有点混乱。在处理用户登录的控制器中:我有以下内容:
IUserBll userBll = new UserBll();
IUser newUser = new User();
newUser.Username = answers[0].ToString();
newUser.Email = answers[1].ToString();
userBll.AddUser(newUser);
User 类在 Web 项目中定义为实现 IUser 的具体类。 DAL 中有一个类似的类实现相同的接口并用于持久化数据。但是,当调用 userBll.AddUser 时,即使两个 Users 类都实现了接口 (InvalidCastException),User 类型的 newUser 也无法转换为 DAL User 类。
使用转换操作符也许是一种选择,但它会使 DAL 和 web 之间产生依赖关系,这与使用接口的最初目标背道而驰。
有什么建议吗?
【问题讨论】:
标签: asp.net-mvc interface