Ruby Padrino 中的多个应用程序:如何命名模型?
我有一个 Padrino 项目,由多个应用程序组成。例如:
- 网站(模型:站点、页面)
- 博客(模型:帖子、评论)
- 商店(模型:类别、产品、订单)
- 跟踪(模型:访问者、内容)
在我看来,将所有未修改的模型放入一个目录似乎是一团糟。所以我想到将它们命名为:
- 网站(模型:Site、SitePage)
- 博客(模型:BlogPost、BlogComment)
- 商店(模型:ShopCategory、ShopProduct、ShopOrder )
- 跟踪(模型:TrackingVisitor、TrackingContent)
但这看起来很奇怪,并且会产生大量额外的输入。
你怎么认为?忽略命名空间并希望不要遇到命名冲突(例如博客应用程序的“类别”模型 => 错误)是一种好的风格,还是应该在每个模型前面添加应用程序名称?
提前致谢。
干杯马克
I have a Padrino project, that consists of multiple apps. For example:
- Website (Models: Site, Page)
- Blog (Models: Post, Comment)
- Shop (Models: Category, Product, Order)
- Tracking (Models: Visitor, Content)
Putting all models unmodified into one directory seems to me like a mess. So I thought of namespacing them like:
- Website (Models: Site, SitePage)
- Blog (Models: BlogPost, BlogComment)
- Shop (Models: ShopCategory, ShopProduct, ShopOrder)
- Tracking (Models: TrackingVisitor, TrackingContent)
But this looks very strange and produces a lot of extra typing.
What do you think? Is it good style to ignore namespacing and hope not to run into a naming conflict (e.g. "Category" model for Blog app => Error) or should I prepend the apps name to each model?
Thanks in advance.
Cheers Marc
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我使用模块作为命名空间,即:
并且与 dm 一起工作得很好,因为我已经命名了
table_name
,顺便说一句,你的方式BlogCategory
对我来说也很好。I use a module as namespace ie:
and works quite well example with dm because I've namespaced
table_name
, btw your wayBlogCategory
is also fine to me.我找到了一种合理的方法来命名 Mongoid 中的模型并保持较小的开销。
我这样命名模型:BlogPost、BlogComment、BlogCategory
在模型中,我使用 class_name 和 inverse_of:
访问方式:
这可以保持访问链较短并且更好:
更多详细信息: http://mongoid.org/docs/relations.html
I found a reasonable way to namespace the models in Mongoid and keep the overhead small.
I name the models like this: BlogPost, BlogComment, BlogCategory
And in the model I make use of class_name and inverse_of:
And access via:
This keeps the access chain short and is better then:
More details: http://mongoid.org/docs/relations.html