Java模块通信

时间:2010-10-15 09:06:09

标签: java refactoring decoupling

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

1 个答案:

答案 0 :(得分:2)

记住“亲吻” - 保持简单;笨

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

是;数据库存储是一个方面,是的,处理webservice调用是另一个方面,但它太容易花费大量时间来实现“干净”的分离,唯一的结果是以后需要更长的时间来改变。 (正如那个曾经在14层“企业”应用程序上工作的人可以告诉你的那样。)

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

我强烈建议:业务规则=您的数据模型。 Web服务方法应尽可能薄,并尽可能干净地展示模型。

这是一篇关于“业务层”http://thedailywtf.com/Articles/The-Mythical-Business-Layer.aspx

的相当有趣的文章

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