国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
[轉(zhuǎn)載]對Grails之誤解
First they ignore you
then they ridicule you
then they fight you
then you win
    -- Mahatma Gandhi

Grails開發(fā)團隊成員Marc Palmer發(fā)表了一篇博客文章,針對開發(fā)人員對Grails常見的一些誤解逐一進行了說明。例如針對“對于我來說,Grails還不夠成熟”,他這樣回應(yīng):

針對這個誤解,我想不斷增長的商業(yè)網(wǎng)站數(shù)量就是最好的答案了。同時,Grails也是基于HIbernate、Spring和SiteMesh這些成熟完善的框架構(gòu)建的,更不用說作為萬年常青樹的Java JDK了。Groovy項目都已經(jīng)有超過三年的歷史了。

接著,對于“Grails使用的是一門解釋型語言(Groovy)”這個誤解,他談到:

Groovy在運行時自動編譯成Java虛擬機字節(jié)碼,它絕絕對對徹徹底底不是一門解釋型語言。句號。絕不。我說了絕不了么?一點兒也沒錯。

最后,討論到Grails是否支持Rails的一個克隆產(chǎn)物,他如是回答:

Ruby on Rails引入了不少非常好的主意,并將它們合為一體。Grails將其中的一部分應(yīng)用到了Groovy/Java的世界中,但加入了許多Ruby中并不 存在的特性和概念,所有這些東西都是以一種對Groovy和Java程序員有意義的方式展現(xiàn)給他們的。

Graeme Rocher順勢而上,也提出了自己的Grails誤解和問題列表,比如說“在我們有了JRuby on Rails之后,誰還要Grails呢?”:

這個問題很有代表性,也是對“Grails到底是什么”最大的誤解之一的根本所在。JRuby on Rails是讓Rails運行在像GlassFish這樣的Java EE容器上非常優(yōu)秀的方式之一,就是這樣而已。但Grails的目標(biāo)卻大為迥異,它并不是Rails在Groovy語言上的一個移植版本,而是將業(yè)界內(nèi)最 為強悍的組件(比如說Spring、Hibernate、Quartz、Compass和SiteMesh等)以最佳方式組合起來的一個實踐,并通過采納 無配置規(guī)約(Convention-over-Configuration,CoC)使它們符合“不重復(fù)(Don‘t Repeat Yourself,DRY)”原則。

我們并不是在重造輪子,而且由于Grails內(nèi)核的絕大部分都是以Java編寫的,它也顯得更加強壯和穩(wěn)定。事實上,從內(nèi)核角度看Grails是一個 Spring MVC應(yīng)用,可以被部署到所有的主流容器之上,不僅僅只有Glasshfish,還有大型商業(yè)容器,比如說WebLogic、WebSphere和 Oracle AS。

再有,“為什么Grails比Rails更適用于企業(yè)應(yīng)用?”:

原因很多,最顯著的兩個原因就是Spring和Hibernate。到目前為止,有不計其數(shù)的組織在采用Spring和HIbernate,他們都有既有的Spring上下文環(huán)境,以及已經(jīng)構(gòu)造好的Hibernate領(lǐng)域?qū)ο蟮取?br>
在我開始參與Grails項目之前,我就經(jīng)歷過同樣的情況。我們設(shè)計Grails的目的就是為了讓它和這些框架盡可能無縫地整合起來。因此,我們打個比 方,你可以把一個用Java編寫的Hibernate領(lǐng)域模型及其對應(yīng)的配置文件直接扔進Grails應(yīng)用中,然后就可以使用動態(tài)的查詢方法,并且直接使 用GORM了。

此外,Grails控制器使用了標(biāo)準(zhǔn)的Servlet API對象(如request、response和session等),因此可以和其它的Servlet一起使用。畢竟,掀起它的蓋頭之后,我們會發(fā)現(xiàn)它 不過是一個Spring MVC應(yīng)用。另一方面,Rails幾乎是按照和EJB2一樣的方式設(shè)計的(在我發(fā)現(xiàn)這點時,怎一個“震驚”二字了得?。?。也就是說,你在擴展 ActiveController和ActiveRecord等框架對象時,你也就被綁定在了這套框架上。

在Rails里面根本就不存在領(lǐng)域模型的說法,Rails的模型就是數(shù)據(jù)庫表。這當(dāng)然是一件好事了,但在企業(yè)內(nèi)部,同一個領(lǐng)域模型可能會在許多不同的應(yīng)用 中服用,比如說桌面應(yīng)用和Web應(yīng)用。在Java里,這實際上是非常成熟完善的,通過把類對象及相應(yīng)映射文件打包成一個JAR文件即可。

親愛的讀者,關(guān)于Grails,您還存在什么問題嗎?或者您還見過對Grails用途的其它誤解么?請在InfoQ的Java社區(qū)與我們一同分享吧。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Grails_教程資料
除舊迎新Java2005回顧與2006展望
2016 年 7 個最佳的 Java 框架
如何評價2016年7款最流行的Java框架?
IntelliJ IDEA 7.0增加Spring/Hibernate支持、Eclipse...
七劍與java開源工具
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服