我是一家公司的顾问,该公司拥有大量项目,可以在GridView的每个项目中进行基本的CRUD操作(如更新,选择,删除,添加)
我在思考而不是为每个项目创建相同的操作而不是n,为什么我不创建某种基于SOA的架构设计模式?通过这种方式,任何人都可以继承使用SOA服务执行的操作并执行它。
另外,我可能在这里错了!我应该如何处理这种模式?这家公司的大多数开发人员都是数据库开发人员。
答案 0 :(得分:1)
我认为您正在寻找一个数据辅助层,即一个层暴露服务的层与业务逻辑,只是CRUD操作。
查看开源“WSO2 Dataservices”http://wso2.com/products/data-services-server/
答案 1 :(得分:0)
服务上的CRUD是generally an anti-pattern。更好的是具有business meaning的服务运营。
与允许不同业务问题的垂直分离相比,SOA更少关于实现服务操作的重用。
与数据库通信的应用程序当然需要说CRUD(因为DB本身就是CRUDy)。没有远离这一点,也不应该被视为坏事。但是,CRUD永远不会有商业意义。
在考虑为您的企业构建应用程序的共享服务环境时,您应该考虑哪些具有业务意义的操作可以通过面向服务进行共享。
这些可以成为您的垂直服务堆栈。
每个堆栈中都包含数据库,数据访问,业务逻辑和表示层,可以公开具有商业意义的服务操作以供其他服务或应用程序使用,并且可以完全单独开发和管理。
我听过的关于soa的最佳描述是在这个视频中: https://vimeo.com/5022174