Grails框架有许多构造/功能,允许在项目中遵守DRY原则("不要重复自己").也就是说:在特定项目中,您很少需要重复相同的设置或代码块.到现在为止还挺好.
然而,我越来越多地使用Grails,我发现我更多地重复代码不是在同一个项目中而是在项目之间.那就是项目A有控制器,GSP:s和与项目B重叠的图像.这是一个维护噩梦,因为项目A中的错误修复也必须在项目B等中修复.
我想通过不在我的项目之间复制代码来将DRY提升到新的水平.
我的问题:你如何在你自己的内部Grails项目中解决这个问题(违反"项目间干")?
请非常具体/具体.如果可能,请尝试在实践中包含有关如何解决它的特定代码示例.
编写自定义插件是最好的方法.您无需将其发布到公共存储库,因为您可以在自己的网络中的某个位置使用私有存储库.
我还没有足够的重复代码来提取插件(在我的项目中重复的大多数代码似乎被各种公共插件所覆盖),但插件可以像一些常见的域类或服务一样简单.
我同意Lee,使用通用/共享插件可能是最好的方法.在我工作的一个地方,出于这个原因,我们有很多内部插件.
最常见的模式是将常用域对象放入自己的插件中.这适用于域类或服务.我们最终没有将控制器,视图和静态资源重构为插件,但同样的原则应该适用.
长话短说:重复使用Grails工件=使用插件.
| 归档时间: |
|
| 查看次数: |
820 次 |
| 最近记录: |