关于我们的设计,我可以问自己哪些问题,以确定我们是否应该在应用程序中使用 DTO 或自我跟踪实体?
以下是我知道要考虑的一些事情:
- 我们有一个带有 WPF/MVVM 客户端、WCF 服务器和 MS SQL 数据库的标准 n 层应用程序。
- 用户可以定义自己的接口,因此 WCF 服务所需的数据会根据用户为自己定义的接口而变化
- 模型在客户端和服务器端都用于验证。我们不会直接绑定到 DTO 或 STE
- 如果需要,某些模型包含从 WCF 服务延迟加载的属性
- 数据库层向多个服务器/数据库发送垃圾邮件
- 服务器端的权限检查会影响数据的返回方式。例如,某些数据根据用户的角色被部分或完全屏蔽
- 我们的资源有限(时间、人力等)
那么,我怎样才能确定什么是适合我们的呢?我以前从未使用过 EF,所以我真的不知道 STE 是否适合我们。
我看到人们建议从 STE 开始,并且只在问题出现时才实施 DTO,但是我们目前已经有了 DTO,并且正在尝试确定使用 STE 是否会让生活更轻松。我们在这个过程中已经足够早了,切换不会花费太长时间,但我不想切换到 STE 只是发现它对我们不起作用并且必须将所有东西都切换回来。