1

我有一个用 Java 编写的模块 - Web 服务模块,它接受请求处理它(这里有一些业务规则),在 db 中保存(修改或删除)值(使用 Hibernate),然后发送状态响应)。重构该模块是否合理,因此最终会有 2 个模块 - 1 是 Web 服务模块,2 - 应用业务规则和生成数据库流程的处理模块?如果是,那么模块之间信息交换的良好做法是什么?谢谢 !

4

1 回答 1

2

记住“KISS”——保持简单;愚蠢的。

更重要的是拥有干净且可维护的代码,专注于领域模型,而不是基于技术考虑将其分解。

是的; 数据库存储是一方面,是的,处理 web 服务调用是另一方面,但它太容易花费大量时间来进行“干净”的分离,唯一的结果是以后需要更长的时间进行更改。(正如每个致力于 14 层“企业”应用程序的人都可以告诉你的那样。)

理想情况下,“业务逻辑”是您编写的一个模块,Web 服务适配和数据存储应该“神奇”地工作。由于情况并非如此,您显然也必须处理它,但这不是主要焦点。

我强烈建议:业务规则=您的数据模型。webservice 方法应该尽可能的精简,并尽可能干净地暴露模型。

这是一篇关于“业务层”的颇有见地的文章http://thedailywtf.com/Articles/The-Mythical-Business-Layer.aspx

还要记住,“层”是抽象概念,在不同的 Eclipse 项目等中“物理”分离它们并不是基本要求。真的,它不是。

于 2010-10-15T09:39:12.080 回答