Ruby on rails 目录/订单系统的应用架构设计
我必须编写一个系统,允许客户订购产品。有一个现有的应用程序可以处理创建目录(添加、编辑产品等)的操作。生产商使用该应用程序来维护有关其产品的数据。现在我想知道如何添加订单功能(我可以访问目录应用程序和目录数据库的源代码)。订单功能可以简单地描述为:Ruby on rails 目录/订单系统的应用架构设计,ruby-on-rails,ruby-on-rails-3,architecture,Ruby On Rails,Ruby On Rails 3,Architecture,我必须编写一个系统,允许客户订购产品。有一个现有的应用程序可以处理创建目录(添加、编辑产品等)的操作。生产商使用该应用程序来维护有关其产品的数据。现在我想知道如何添加订单功能(我可以访问目录应用程序和目录数据库的源代码)。订单功能可以简单地描述为: 客户可以登录新订单,查看旧订单 生产商可以登录并查看客户的新订单,存档订单 midleman应该看到所有订单按生产商分组,以便决定是否发货 我在想几个方法: 使用只包含订单的新数据库创建新应用程序。 目录数据库和订单数据库中的产品将通过[Pro
- 客户可以登录新订单,查看旧订单
- 生产商可以登录并查看客户的新订单,存档订单
- midleman应该看到所有订单按生产商分组,以便决定是否发货
- 目录数据库和订单数据库中的产品将通过[Productucent\u id,product\u id]对进行连接
- 在订单应用程序中,我将连接到目录数据库以显示有关产品的信息
我认为这种方法的缺点是
- 无法进行统计查询,如“统计类别中所有木制物品的订单”等
- 与现有应用程序的明确分离
- 生产商在菜单“订单”中有另一个选项
- 为客户和中间商添加新功能
- 例如,无法将订单数据库/应用程序移动到其他服务器
- 能够运行交叉订单/目录查询
p.S技术将是ruby on rails就个人而言,我会选择“向现有应用程序添加功能” 我认为您不想单独销售订单应用程序,因为它完全取决于目录/产品应用程序的构建方式 开发将更加容易,不仅数据库访问,而且现有基础设施的重用将提高您的开发速度 我想您想要将orders应用程序移动到另一台服务器的唯一原因是性能问题。我想说的是,你永远不应该为你不确定会发生的情况而优化 当您注意到一些真实的、可测量的性能问题时,执行不受支持的跨数据库查询以优化应用程序要困难得多
所以在我看来,开发加快了性能问题的速度。我也担心这样的情况:我对现有代码做了一些巨大的更改,但还没有准备好投入生产,然后我们将不得不对目录进行一些更改。。。你认为创建svn早午餐会是解决这个问题的好方法吗?是的!分支肯定会有帮助。如果您在分支(可能还有子分支)中进行所有新的开发,您总是可以毫无问题地发布现有应用程序的新版本。你能让旧代码完全不知道新代码吗?这可能会改进您的设计。我想我可以,但我仍然希望避免放入无法使用的生产代码(如果没有分支,情况就是这样)另一方面,搜索svn分支/合并会产生非常可怕的结果——很多人抱怨svn中的这一功能……我不是svn方面的专家,但分支在源代码管理中非常常见,所以我总是建议使用它。当进行新的开发并支持旧版本时,这将使您的生活更加轻松。好的,我会研究一下。感谢您的订婚:)