我有一个我从来没有能够解决一个问题:分层架构
考虑这两种架构
UI layer
|
Application layer
|
Domain Layer
|
Infrastructure Layer
第二
Client Tiers
|
Presentation Tiers
|
Business Tiers
|
Integration Tiers
|
Resources Tiers
什么是他们之间的区别。
实体bean在这些架构中的位置。如果我有一个带有实现业务逻辑的对象的业务层,为什么我必须在实体bean中添加行为。我在某处读到,这是一种反模式,让域模型对象没有行为。
感谢
更新
这实际上是一个项目(培训),我需要做的就是我在分布式系统中MSC。
这些其实都是我使用
的Struts 2 JPA HSQLDB
所以,如果我的理解以及
我的应用程序由
客户端层(网络浏览器技术) 表示层(struts 2) 业务层(POJOs + JPA) 集成层(带有休眠DAO) 资源层(HSQLDB)
但是,作为演示文稿,业务和集成层是在同一台服务器上执行的(tomact),我只有三层架构。我对吗 ?
至于在我的JPA对象中包含行为,通常这是我以前做的事情: 为每个JPA实体都有一个dao。 有一个可以管理所需业务逻辑的bean(如EJB)。所以我从不在JPA对象上放置行为。
说例如我想提出购买请求。我会有一个CatalogueManager,它可以帮助我与物品,供应商进行互动。我也会有一个EmployeeManager,它可以帮助我与员工互动。最后,一个PurchaseRequestManager将使用前两个业务对象来创建一个PurchaseRequest。
现在你告诉我的是将PurchaseManager中的方法放在PurchaseRequest JPA实体中,并对EmployeeManager =>中的方法执行以将它们放入Employee JPA实体中。
但是如果我的雇员对象也用于人力资源部门会发生什么,我还需要将其他方法放在那里。对于大型应用程序,我会在员工JPA实体中使用很多方法。这不会是反效果的吗?
感谢