Grails包结构

Jef*_*eck 7 grails packages

我正在接受一个Groovy和Grails的现有代码库,但是对我来说包结构似乎很奇怪.

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

这个结构对我来说非常不合适,因为域和控制器类已经在grails-app文件夹中的自己的文件夹下组织.

我的计划是根据实际用途重做包和组,例如com.company.billing和com.company.util.

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

Ste*_*ter 10

我认为软件包名称应该将属于不同业务方面的代码分开.对于例如购物网站,我建议:

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

恕我直言,使用包名来区分代码的"类型"(例如域,控制器,服务......)是没有意义的,这根本不会给它增加任何价值.

我还建议您仔细使用util软件包名称,这可能表明您的代码没有集中注意力.

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

  • +1表示"清洁代码"..这真是一本了不起的书:) (2认同)