我正在尝试构建一个新应用程序并将其运行以解决问题。具有多重表示层的三层体系结构
的想法是使这种方式:
- 的WebSite1(表示层)
- XAML页面
- 页面代码隐藏
- 我们称之为PageViewModel(对象,表示页型号)
- WEBSITE2(表示层)
- 同WEBSITE1
WebSiteX(表示层)
- 同网站1
商业项目
- 服务(将页面背后的代码是调用,转换DAL对象到视图模型通过网站可读)
- 视图模型(代表真正的目的是能够在几页/网站使用)
DAL项目
- 管理器(按服务呼叫,返回DAL对象)
- DAL(访问数据库或其他来源)
我的ViewModels存储到一个分离式的项目,可以是如果需要,可用于各种网站。
我觉得很肮脏的演示规则(像这应该是一个数字或这是必需的)将被存储到业务层(ViewModels内的属性)的事实。也有可能两个网站使用相同的对象,但具有不同的演示规则(在一种情况下不需要另一种)。
我看到的唯一方法是将服务和ViewModels放入每个网站中,但如果它们使用相似的对象,代码将被复制。
你会怎么做?
感谢您的阅读。
感谢您的回答。也许ViewModels可以被定义为一个“全局项目”,并在需要时通过特定的提交规则继承到每个Web站点。它仍然看起来像重复,因为在很多情况下,我将拥有相同的对象,但它可能更干净。 –