,我想听听技术官僚的意见, 我们正在使用Oracle 8i数据库在Oracle窗体中迁移遗留系统构建。客户端希望在web应用中重新开发这个遗留系统,因此我们选择了MVC3框架。客户端希望我们重新使用遗留系统的所有存储过程,其中包含应用程序的业务逻辑。 如果每个业务逻辑都是用存储过程编写的,那么我认为我们不需要系统中的业务层。 所以我创建了三层-: 接口层-> MVC 3应用程序 数据层->用于从存储过程中获取信息 DTO层->用于将数据从接口层传输到数据层。 我没有创建业务对象或业务层,因为所有业务逻辑都在存储过程中。我不喜欢创建业务层,它只是将请求从接口层转发到数据层,并且其中没有任何业务层。
这种方法正确吗?
发布于 2013-08-22 05:43:11
业务层是独立的项目。
如果业务层是一个单独的项目,我将重点关注项目的各个部分。在服务器端应用程序中有一个具有最小业务逻辑(通常是验证逻辑)的接口层是完全合理的。您可能需要客户端中的最小业务逻辑来使其更具响应性,也就是说,它不会一直返回到数据库来验证输入。
您可以在数据库中有业务层(不是说我会做这样的事情),也可以在服务器端Java中,或者在客户端(不是我建议在很大程度上这样做)。
发布于 2013-08-22 05:52:06
我建议您仍然创建一个业务层,即使它只是将所有操作转发到作为数据层一部分的存储过程。
由于客户端希望您重用包含业务逻辑的所有存储过程,因此他不希望您修改或添加更多存储过程听起来也是合理的。事件可能会发生,需要您以不同的方式实现它们,或者更改业务逻辑的顺序,然后将其放入业务层。也许您可能需要一个不以数据为中心的业务逻辑--这意味着在存储过程中使用它听起来不太合理,比如发送电子邮件或与第三方系统进行协调。
https://stackoverflow.com/questions/18372119
复制相似问题