目前,我正在开发一个利用多层架构的项目,如应用程序架构指南 2.0中所述,有 5 层(DAL、BLL、外观、表示层和公共层)。
这里我们有一个业务逻辑层,它由业务组件和业务实体(它们是使用 O/R 映射器生成的实体)组成,我们经常需要在表示层中使用这些实体来绑定和向用户呈现数据,所以我们将这些实体冒泡通过其他层直到表示层。
现在的问题是:
这是一个正确的方法吗?(根据定义,我知道如果我们应该共享这些,我们应该将它们放在公共层中,以便我们可以在所有层中使用它们)。我们不应该将这些实体移动到公共层吗?或者我们应该定义诸如数据传输对象(DTO)之类的东西并通过层传递它们(这当然看起来是多余的)。
任何澄清将不胜感激。