目前我正在使用rails应用程序,它由两部分组成:客户端和服务器。
因此,每次客户端调用服务器时,服务器都会返回一些json文档。我将所有业务逻辑(大多数是从数据库获取数据并将其格式转换)放入服务器端的帮助程序中,控制器直接调用辅助方法。在我做了很多改变之后,帮助者疯狂地成长。这时我必须重构我的代码库。
然后,我想知道这些业务逻辑(获取和转换数据)是否应该将它们全部拆分为独立的模块化服务,或者仍然在帮助程序中保留一些逻辑并将其余部分放入服务中?如果它是后者,那应该保留哪些应该移走?
谢谢!
答案 0 :(得分:1)
目前占主导地位的观点是您将业务逻辑放入模型中(因此它驻留在服务器端)。控制器主要专注于作为端点工作并调用正确的模型方法。
当你发现你的模特“太胖”时,我可以为你推荐这篇文章: http://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-activerecord-models/