Hon*_*nza 1 java jsf swing hibernate
我知道有很多关于我的问题的问题,我已经阅读了很多,但我仍然感觉有点愚蠢,因为我还没有得到它.所以我正在尝试解决我的特殊问题.
我正在实施学校的工作.它应该是信息系统的一部分,必须是分层的.我们必须用Java或C#编写它(我选择了Java).在我的例子中,我们必须使用两个不同的数据源和两个不同的视图,oracle db和xml作为数据源,Java Swing和JSF作为视图.
根据Martin Fowler所着的"企业应用程序架构模式"一书,有三个主要层:
如果系统中没有任何"计算",但只有简单的实现和返回数据,我就完成了,一切都好.但是,我是,例如,实施该系统,应该管理体育舞蹈的比赛,并且在比赛期间我需要为每一轮产生一对情侣,在比赛后我需要计算每个舞者的分数,增量必要时点等等.
我知道,它是Domain层(业务逻辑)的责任,但在我的代码中有哪些?我应该选择这些对象的名称以及将它们放在我的代码结构中的位置?
我的结构:
我应该在哪里放置我的业务逻辑以及这些类的名称应该是什么?
非常感谢您的帮助.再见:-)
通常,域层意味着"实体"(域的模型)和域服务.
实体拥有与其相关的所有业务逻辑.验证(检查它们处于正确状态)和计算通常放在属性设置器/ getter中,而转换数据的操作通过公共方法公开.
域服务是与多个实体一起操作并在实体之间进行一些计算和/或转换的类.
有几点需要考虑.为了使该设计正常工作(因此它是可测试的,解耦的等),必须使用依赖注入(DI).域名不应该被获取或保存数据等所困扰.它应该明确地解耦,并且应该预先知道它的所有依赖性.
如果它是一个简单的应用程序,那么组合域层和数据访问层可能是明智的,因此从ORM创建的对象已经是实体.只需添加域名服务(如果需要).然后在演示中使用相同的实体(作为MVC的模型).这将减少映射器在ORM制作的对象(让我们称之为dbos),实体和演示所需的可能模型之间映射的需要.当然,如果每层需要不同的对象,请务必创建它们.如果不需要,请不要过于复杂.
| 归档时间: |
|
| 查看次数: |
1344 次 |
| 最近记录: |