【问题标题】:Grails Package StructureGrails 包结构
【发布时间】:2011-07-20 11:47:30
【问题描述】:

我正在选择一个现有的代码库,即 Groovy 和 Grails,但包结构对我来说似乎很奇怪。

对于域类,他们将其放在以下包 com.company.domain 中,然后对于该类的控制器,它是 com.company.controller

这种结构对我来说似乎很离谱,因为域和控制器类已经组织在 grails-app 文件夹中它们自己的文件夹下。

我的计划是根据com.company.billing和com.company.util等实际使用情况重做包和组。

我的计划有什么缺点吗?我缺少的当前包结构有什么好处吗?

【问题讨论】:

    标签: grails packages


    【解决方案1】:

    我认为包名称应该将属于不同业务方面的代码分开。例如一个购物网站,我会推荐:

    • com.mycompany.myfancywebsite.product 所有与产品相关的东西(例如产品域类、ProductDetailController 等)
    • com.mycompany.myfancywebsite.cart 所有与购物车相关的东西(例如 CartController、ShippingCostCalculationService 等)
    • com.mycompany.myfancywebsite.payment所有与付款相关的事情

    恕我直言,使用包名称来区分代码的“类型”(例如域、控制器、服务......)是没有意义的,这只是没有增加任何价值。

    我还建议在包名称中谨慎使用util,这可能表明您的代码不够集中。

    如需进一步阅读,请参阅优秀书籍“清洁代码”。另见http://weblog.dangertree.net/2008/11/22/grails-package-naming/

    【讨论】:

    • 谢谢,我主要是把 util 扔在那里尝试使用通用的东西。
    • 我查看了链接,它看起来很棒,它确实特别呼吁不要将包用于代码类型。
    • +1 推荐“干净的代码”.. 这真是一本了不起的书 :)
    • 以上链接已被删除。这是存档链接web.archive.org/web/20111205185112/http://weblog.dangertree.net/…
    猜你喜欢
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多