标签: ecb-pattern

(实体 - 控制 - 边界模式) - >如何处理两个实体?

前提

我最近阅读/观看了由Java Champion Adam Bien撰写的很多文章/视频,他主张使用古老更新的 实体 - 控制 - 边界设计模式 JAVA EE> = 6.

利用CDI,EJB 3.1,JPA 2和其他JAVA EE 6功能,此模式应有助于创建更多面向业务的组件,更易于单元测试,并根据职责更高地分离关注点.

由于我使用了上面列出的所有功能,而且这种模式听起来非常有趣,我正在寻找它,看看ECB是否符合我的下一个项目要求.


到目前为止我得到了什么

在欧洲央行,每个逻辑实体分为三部分(如果我错了,请纠正我):

  • 一个边界,一种强大的门面,只有类的访问之外.对于外部(如果我做对了),我们的意思是在应用程序之外,例如.远程客户端,在组件包之外,例如.我申请的另一部分;

  • a(n可选)控制器,负责某种操作(例如,实体的验证);

  • 一个实体,可以是一个纯粹的JPA实体,但也可以包含一些装饰/验证/(最小)业务逻辑.

例如,考虑有两个不同的实体(OrangeApple),一个在它们上做CRUD FruitsManager的类()和一个对它们执行某些控制的类(FruitsQualityChecker).

直到昨天,它会像(OLD WAY):

com.foo.bar.business.FruitsService        /* CRUD    */
com.foo.bar.business.FruitsQualityChecker /* CONTROL */
com.foo.bar.model.Orange                  /* ENTITY  */
com.foo.bar.model.Apple                   /* ENTITY  */
Run Code Online (Sandbox Code Playgroud)

和欧洲央行一样,我会(新方式):

com.foo.bar.business.oranges.boundary.Oranges …
Run Code Online (Sandbox Code Playgroud)

java design-patterns jpa ecb-pattern

12
推荐指数
1
解决办法
6302
查看次数

EJB与CDI和"实体边界控制"模式

我试图了解CDI和EJB以及实体边界控制(ECB)模式.我对ECB模式的理解是边界是事务边界的起点和终点.除此之外,CDI不像EJB那样提供事务支持.

因此,如果我想成功实现ECB模式,那么以下是正确的;

  1. 我可以使用EJB(即@stateless,@ stateful,@ sortton)实现Boundary部分,使用CDI或EJB实现Control层.
  2. 我可以使用CDI实现边界和控制部分,但在边界中实现事务支持类似于(http://smokeandice.blogspot.com/2009/12/cdi-and-declarative-transactions.html)
  3. 我不能用CDI实现Boundary,然后在Control层中开始使用EJB.

谢谢

java ejb java-ee cdi ecb-pattern

7
推荐指数
1
解决办法
2109
查看次数

Java EE 6设计模式

我想知道可以在Java EE 6实现中应用的设计模式.

  • MVC.
  • GOF.
  • DAO
  • 持久关系映射
  • CEC
  • 实体控制边界(ECB)
  • 和许多其他人

JPA是否取消了DAO的使用?
请提供可以学习的其他模式.

java design-patterns java-ee ecb-pattern

6
推荐指数
2
解决办法
2万
查看次数

ECB模式 - 什么是真正的边界?

我刚看过Bob叔叔关于架构软件的演讲:

http://www.cleancoders.com/codecast/clean-code-episode-7/show

他谈到了ECB模式(实体 - 控制器 - 边界)

他坚持认为所有软件必须是主要的,尽管整个用例.

实际上,他重复了很多次关于工具,框架等的决定......必须推迟.

我对"边界"一词很感兴趣,所以我发现了这个解释:

http://process.osellus.com/sites/wiki/OpenUP%20DSDM/Wiki%20Pages/Guidance%20-%20Entity-Control-Boundary%20Pattern.aspx

在这里,我们看到边界与每个传递机制相关,如Web机制的形式(MarketingCampaignForm)等......

所以我的问题是:

boudaries必须知道将使用的交付机制的类型,并与Bob叔叔的观点相矛盾吗?

或者它们必须是简单的POJO代表简单的数据结构,它将在内部系统和交付机制之间共享; 并包含来自用户的输入和内部系统中控制器的输出?

java architecture design-patterns ecb-pattern

5
推荐指数
1
解决办法
4835
查看次数

实体控制边界 (ECB) 与模型视图控制器 (MVC)

我不确定我是否有正确的概念。

人们告诉我

边界 = 视图

实体 = 模型

控制 = 控制器

但是根据我对 MVC 的了解。(胖模型,瘦控制器)

不是 Boundary = Controller, Control = Model (业务逻辑)和 Entity = Model (orm 类或类似的实体类,它只执行 crud )。

我可能错了,请指导我!

model-view-controller uml use-case ecb-pattern

5
推荐指数
2
解决办法
4080
查看次数