拿到书后,马上看了前4章,感觉很不错。
Groovy on Grails,?在Ruby?on?Rails?满天飞的时代,熟悉java的开发人员有了一个敏捷的选择。
前两章比较基础。
第3章中描述目录结构,让我回想起用myeclipse创建web?project时,仅仅有简单src和webroot文件夹。统一的目录结构的确对以后的重构和敏捷提供了一条快速大道。
第4章中描述Grails领域模型的封装写得不错。简单的constrations进行属性约束,灵活的用到hibernate的annonation.模型操作动态的查询,让我回想到以前用DAO层实现方法的笨拙。
第五章?自动生成的CRUD操作,Grails感觉已经做得不错。通过动态语言的groovy的帮助,传统DAO的操作已经显得苍白。
第六章?测试。虽然不能够实现TDD的编程方式。可是我们需要做到是对每一个Domain已经其Control类进行测试。在隔离数据库和容器的以外,可以通过进行合理的单元测试完善测试结构。可以通过内置的mock和stub进行隔离测试。在依赖容器的情况下可以选择Grails的webtest进行功能测试,从而模拟在实际环境中的系统运行状态。
第7章?控制器。最主要部分是控制器中的数据绑定和拦截器。绑定数据的好处在于当数据提交时可以最快的方式进行数据验证。Grails实现拦截器的方式是通过Spring的AOP方式进行的。因为本来Grails就是建立在Spring等框架上。控制简单的切入点,很容易做到类级别的拦截。
第 8章?Groovy?Server?Page?是一个Grail为Groovy写的一个scriptlet,当然就有Grail固定的tag啦。功能和语法基本上JSTl相当。其特点在于可以在编写的时候调用Groovy,灵活性提高的很快。特别在多重级别的查询的时候效果让人吃惊。本章还有一个看点就是 Grails整合在View层的模板。模板体现了CoC的概念。感觉比Tiles2有了更进一步的发展。
第9 章?Ajax?,Grails整合在GSP中加入特定的tag可以进行远程服务的调用了。XMLHttpRequest已经不是什么新鲜的事情了。回想起 JSF中用到4jsf等框架进行Ajax整合时。我对Grails的出现表示欣喜。其中可以调用一些javascript库进行整合,如 prototype,dojo等。本书上好像没有说我喜欢的jquery哦,伤心。
第10章?服务层和作业。对于企业级的应用,如果仅仅用的MVC,不进行业务层的抽象的话,必然在Control层有许多的耦合代码。因此,一般的企业会在control层上抽象一个服务层Businenss?layer。Grails如何做到做到此方面扩展,得益于Spring的IOC。IOC的概念已经不许要多说了。在接口编程实现依赖注入。
最后11章?Groovy和java的一些整合方案,在需要用到的时候在查阅。的确是本好书,3天完成。
Groovy on Grails,?在Ruby?on?Rails?满天飞的时代,熟悉java的开发人员有了一个敏捷的选择。
前两章比较基础。
第3章中描述目录结构,让我回想起用myeclipse创建web?project时,仅仅有简单src和webroot文件夹。统一的目录结构的确对以后的重构和敏捷提供了一条快速大道。
第4章中描述Grails领域模型的封装写得不错。简单的constrations进行属性约束,灵活的用到hibernate的annonation.模型操作动态的查询,让我回想到以前用DAO层实现方法的笨拙。
第五章?自动生成的CRUD操作,Grails感觉已经做得不错。通过动态语言的groovy的帮助,传统DAO的操作已经显得苍白。
第六章?测试。虽然不能够实现TDD的编程方式。可是我们需要做到是对每一个Domain已经其Control类进行测试。在隔离数据库和容器的以外,可以通过进行合理的单元测试完善测试结构。可以通过内置的mock和stub进行隔离测试。在依赖容器的情况下可以选择Grails的webtest进行功能测试,从而模拟在实际环境中的系统运行状态。
第7章?控制器。最主要部分是控制器中的数据绑定和拦截器。绑定数据的好处在于当数据提交时可以最快的方式进行数据验证。Grails实现拦截器的方式是通过Spring的AOP方式进行的。因为本来Grails就是建立在Spring等框架上。控制简单的切入点,很容易做到类级别的拦截。
第 8章?Groovy?Server?Page?是一个Grail为Groovy写的一个scriptlet,当然就有Grail固定的tag啦。功能和语法基本上JSTl相当。其特点在于可以在编写的时候调用Groovy,灵活性提高的很快。特别在多重级别的查询的时候效果让人吃惊。本章还有一个看点就是 Grails整合在View层的模板。模板体现了CoC的概念。感觉比Tiles2有了更进一步的发展。
第9 章?Ajax?,Grails整合在GSP中加入特定的tag可以进行远程服务的调用了。XMLHttpRequest已经不是什么新鲜的事情了。回想起 JSF中用到4jsf等框架进行Ajax整合时。我对Grails的出现表示欣喜。其中可以调用一些javascript库进行整合,如 prototype,dojo等。本书上好像没有说我喜欢的jquery哦,伤心。
第10章?服务层和作业。对于企业级的应用,如果仅仅用的MVC,不进行业务层的抽象的话,必然在Control层有许多的耦合代码。因此,一般的企业会在control层上抽象一个服务层Businenss?layer。Grails如何做到做到此方面扩展,得益于Spring的IOC。IOC的概念已经不许要多说了。在接口编程实现依赖注入。
最后11章?Groovy和java的一些整合方案,在需要用到的时候在查阅。的确是本好书,3天完成。