2011-06-04 62 views
2

Im新的MVC。我的问题是你如何设计一个应用程序并用复杂的逻辑来实现它。在模型中创建复杂的业务逻辑

我正在使用Play框架,创建一个Java Web应用程序。与其仅仅处理基本表单数据被保存到数据库中,想象我将文件发送到服务器(可能是电子表格),并且希望在将其保存到数据库之前将其分解并清理。

现在我想以最实用,最深思熟虑的方式来做到这一点。我不想要一个真正紧密耦合的系统。例如,我可能想要在将来上传一个CSV文件,并期待相同的结果。

所以基本上只是寻找建设一个复杂的模型的建议。到现在为止,我的模型只是一个对象。对我来说,打破文件的问题看起来像我会写一个单独的包与一些实用程序等和一个主要的服务对象来处理原始数据。

任何意见一如既往将不胜感激。

回答

2

处理复杂业务逻辑的最佳方法是将其分解为单独的对象+方法。这样,您可以使用组合构建复杂的调用,而不是将所有功能耦合到模型中的一个方法。

您的模型通常是一个对象,但没有规则说它不能与其他对象通信。

+0

感谢您的意见,我想到的是sperate包一系列相关的对象将是我们的最佳途径。我的模型仍然存在,但将处理传递给这个其他实体。我所面临的问题主要是控制的倒置,似乎建设工厂处理分裂东西是费力的,过度难以测试和难以维护。那是减缓我的部分。 – Julio 2011-06-04 22:38:35

+0

你可以测试你的模型是使用mock正确调用包的方法。测试完成。 – james 2011-06-04 22:41:08

+0

也单独测试你的包组件,并提供一个干净的公共API。这样你只需要确保你的软件包组件被调用的方式正确。 – james 2011-06-04 22:41:22