【发布时间】:2016-03-03 02:45:23
【问题描述】:
我有一个系统,管理员可以创建报告模板,用户可以根据它们创建“真实”报告。
在Rails 的单表继承机制中,“抽象”基础模型为Report < ActiveRecord::Base,模板模型称为ReportTemplate > Report。现在我需要为报告的具体实例命名,例如ConcreteReport > Report,但我不喜欢“ConcreteReport”。
有没有更好的措辞?我想到了像ReportItem、ReportInstance...这样的名字,我更喜欢它们,因为它们以Report开头(而不是以它结尾,就像ConcreteReport一样),这更好,因为它们在文件浏览器中组合在一起。但我还是觉得他们很糟糕。
我还考虑了一个 AbstractReport 基类,然后简单地将 Report 用于“具体”报告,但随后我必须使用 Rails 的默认值(要使用的表名等)进行调整,我'宁可避免。
所以任何建议都非常欢迎!
【问题讨论】:
-
看起来你应该使用命名空间。一个 Report 命名空间,你会很好地使用 Report::Item 等。
标签: ruby-on-rails oop abstract sti wording