Rails将ActiveRecord与Business Logic分离的应用程序
我最近遇到了Robert Martin的(Uncle Bob)关于如何根据用例构建rails应用程序的主题演讲。 我发现这非常有趣。
以下是主题演讲的链接: 建筑:失落的岁月
这是一个示例项目,根据罗伯特·马丁在其主题演讲中提到的原则构建应用程序: Guru Watch
我想知道是否有完善的rails应用程序以这种方式构建( 用例驱动方法/实体 – 控制 – 边界架构/从前端解耦后端 )
好吧,我无法分享代码,但我可以指出你的方向。 我们一直在我们的应用程序中使用这个gem: https : //github.com/collectiveidea/interactor 。
我受到Martin的主题演讲的启发,这个应用程序的开发非常顺利:)。 在ActiveRecord和Business Logic分离的情况下,我们执行了以下操作:
我们的业务逻辑中的每个类都有一些DatabaseEntity对应的类。 这个对应的是使用另一个类 – 我们的ActiveRecord适配器。 它正在查询相应的ActiveRecord模型并将ActiveRecord实例转换为业务逻辑类的实例。
毕竟,大多数代码都集中在这个适配器中。
- 为什么这个Ruby on Rails代码不能像我想要的那样工作?
- Rails has_many:通过“子对象”的sum属性 – > SQL Toughy
- rails activerecord,friend relation + inverse_friend关系如何获得相互关系? 代码包括在内
- 在Sidekiq作业结束之前释放ActiveRecord连接
- Rails,解决这个n + 1的技巧?
- Rails:如何在activerecord中查询模型的时间范围,而不是日期
- Rails belongs_to association(with:class_name)返回nil
- ActiveRecord where.not不工作/奇怪的行为
- 如何通过单独表格中的总和来订购我的参赛作品?