国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

想動就“動” Java也可以“動態”靈活

開發 后端
只要你愿意,嚴肅規矩的java也同樣可以變得“動態”靈活起來,那么作為忙碌在程序藝術世界里的子民們,我們何去何從呢?投奔動態語言陣營還是繼續在四平八穩的Java領域奮戰?

只要你愿意,嚴肅規矩的Java也同樣可以變得“動態”靈活起來。動有動的好處,靜有靜的好處。俗話說得好,“沒有規矩不成方圓”,但“生命誠可貴,愛情價更高,若為自由故,兩者皆可拋”。那么作為忙碌在程序藝術世界里的子民們,我們何去何從呢?投奔動態語言陣營還是繼續在四平八穩的Java領域奮戰? 在我看來,“動”或“不動”需要一個黃金分割點。

1、尋找“動”與“不動”的黃金分割點

兩年前,以Martin Fowler為代表的一群大師們突然集體投奔到了動態語言陣營,手持RoR這個“核武器”,大喊著要滅了Java,要取代Java。現在回頭來看,動態語言給我們確實帶來了一些的革命性的思想,但同時我們也發現被大師們忽悠了一把。

對于強類型的Java語言來說,與真正的動態語言比起來,確實要受限制很多。在我看來,借某位大師的比喻,Ruby的敏捷相當草書,而java就是正楷。用Ruby,十個程序員寫出來的程序就是十種風格,這跟我們寫文章是一樣的。而Java就是規規矩矩宋體方塊字,橫是橫,豎是豎,先寫哪一筆后寫哪一劃,一切都是規定好了的。強類型的靜態語言從語法的底層就建立了一套較為穩固的規則體系,因此更加規范,從長遠來說,或者是對于大型項目來說,肯定是有規范并且規范嚴格的,較之規范不嚴格的表現起來從擴展性、可維護性等要優秀得多。

動態語言與強類型的靜態語言,他們各有自己的特長范圍。在企業級應用領域,JavaEE的優勢不是一天兩天建立起來的。而動態語言其實由來已久,***秀我覺得應該算是javascript了,想想以前用asp寫程序,服務器及客戶端腳本都用的js,對于小型的應用來說,確實很舒服。而近兩年由于Ajax概念股的走紅,javascript更加春風得意,prototype.js等一批的Ajax框架及引擎更是把javascript的OO及動態特性發揮到***。對于來勢兇猛的RoR來說,在我看來***先去跟php、Python這種同類的競爭者好好PK幾年,如果不被他們滅掉的話,然后再來研究要“花多少光年來滅掉java”這樣的命題。

對于小型的應用來說,小巧、靈活、簡單的動態語言,肯定在先機上占有一定優勢。但對于大型的企業級應用來說,動態語言的這種巧、活、隨意性恰好成為其劣勢。這其中的原因除了本身能力(多核、線程、系統資源等)有限以外,太“草”了也是限制其發展的原因。事實證明,動態語言能做到的,咱們靜態語言稍為動動腦子調整一下也能做到,比如Groovy;而靜態語言能做到的,動態語言打死也做不到,除非他自己變成靜態的強類型語言,比如多核線程、二階段分布式事務。如果做到了,他可能就不僅僅是動態語言了。

動有動的好處,靜有靜的好處。俗話說得好,“沒有規矩不成方圓”,但“生命誠可貴,愛情價更高,若為自由幫,兩者皆可拋”。那么作為忙碌在程序藝術世界里的子民們,我們何去何從呢?投奔動態語言陣營還是繼續在四平八穩的Java領域奮戰?

在我看來,“動”或“不動”需要一個黃金分割點。而在EasyJWeb之所以提供一些“動態”特性的支持,也就是尋找這樣一個分割點而做的,把動與靜的好處進行分析、權衡,然后讓JavaEE應用開發變得更加的容易。努力尋找這樣的黃金分割點,對一些非常好的動態特性及思想提供應用級的支持,而對于一些必須規范才能產生效率的特性,則堅持推廣應用。Java社區中的很多人都在為尋找這個分割點而努力。Java本身也已經意識到這一點,在其新的版本中都增加了對一些優秀的動態語言特性的支持。

當然,對一直覺得“受約束、受限制”的我們來說,能“動”一點、想“草”的時候“草”兩下,這是一件非常快樂的事兒。因此,EasyJWeb在基于Java這樣一個具有規范的平臺及環境作為基礎的前提下,做了一些工作,使得我我們在一定的范圍內也可以靈活的“動”起來,隨性地“草”起來,這樣使得我們可以放開手腳、輕松大膽的往前走。下面我通過一些例子來說明。

2、百變CmdAction-AbstractCmdAction

在EasyJWeb-.10新版本的Command類型的Action基類即AbstractCmdAction中,提供了足夠的靈活特性使你得可以像使密宗拳一樣書寫Java Web Action。可以根據你不同的應用場景,像用動態語言那樣書寫Action中的command。

假如我們在一個模塊中要執行一個名為create操作,下面的方法簽名都是合法的:

public Page doCreate(WebForm form,Module module)
public Page doCreate(WebForm form)
public Page doCreate(Module module)
public Page doCreate();
public void doCreate(WebForm form,Module module)
public void doCreate(WebForm form)
public void doCreate(Module module)
public void doCreate();

另外,把方法名稱改成create,系統也一樣能識別。如:

public Page create(WebForm form,Module module)
public Page create(WebForm form)
public Page create(Module module)
public Page create();
public void create(WebForm form,Module module)
public void create(WebForm form)
public void create(Module module)
public void create();

我們可以使用xxx.ejf?easyJWebCommand=create的方式來調用這個方法,也可以使用xxx.ejf?cmd=create的方式來調用,甚至我們還可以使用/ejf/xxx/create的形式來調用。

這種靈活的Action中的命名方法,一方面可以使代碼更加簡潔,易維護,同時也使我們的代碼看起來更cool。另外一個主要原因是其使我們可以非常容易書寫這些方法的測試代碼,不需要任何Web容器,我們就能運行EasyJWeb的單元測試。

看看Struts那種每個方法都必須生搬硬套的生成下面的方法:

public ActionForward command(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) ...{

}

對照EasyJWeb中提供的百變Command方法簽名,您是否感覺到這個世界正在前進呢?

3、更多的“動感”地帶

想動就動起來吧,不僅僅體現在方法的書寫方式上。在EasyJWeb中很多地方都用到了這種“動態”的特性,比如forward及go方法提供的多種調用方法,驗證標簽中以自然語言為主體的動態參數配置信息,都體現了EasyJWeb能“動起來”的特性。

以驗證為例,我們可以通過多種方式來告訴EasyJWeb我們需要進行驗證。比如我可以通過在@FormPO中針對一個或多個屬性指定驗證規則,看示例:

@FormPO(name="person",validators=...
 ,
 @Validator(name="range",field="borndate",value="min:1908-01-01;max:2008-01-01")})
public class Person...{
…屬性及getter/setter方法
}

你應該猜得出來,上面的標簽中我們指定Person對象的name,sex,heigth,borndate等屬性為必填屬性。在驗證數據范圍的RangeValidator中,你可以不用去管要驗證的目標類型是Integer還是BigDecimal或者是Date,只要他能比較,就可以應用該驗證器來對其值范圍進行驗證,確保我們的域模型得到的是一個合理的值。

在標識驗證的時候,可以設置自定義的驗證提示信息。比如你可以使用下面的方式來標識一個范圍驗證:
@Validator(name="range",field="borndate",value="min:1908-01-01;max:2008-01-01;min_msg:出生日期不能小于1908年;max_msg:出生日期不能大于2008年!")

除了min_msg及max_msg以外,你還可以使用基于java習慣的minMsg及maxMsg來標識同樣的驗證提示信息。

【編輯推薦】

  1. JSON與JAVA的數據轉換
  2. Java虛擬機發展回顧 為跨平臺而生
  3. Java虛擬機概念及體系結構(1)
  4. 基于JavaScript的REST客戶端框架
  5. 對Java電子書制作的講解
責任編輯:王觀 來源: 天極Yesky軟件頻道
相關推薦

2012-10-08 10:28:37

IT預算云計算虛擬化

2009-04-22 17:06:26

2013-09-24 10:41:32

靈活高效凌動C2000

2022-10-17 08:21:29

UDPTCP

2012-03-09 09:43:15

LinuxLinux命令

2010-09-01 20:30:14

虛擬園區網網絡架構H3C

2014-05-20 10:59:32

2021-06-23 09:52:22

Web開發數據

2009-05-06 10:45:49

上海動聯K5動碼令動態加密

2020-10-14 11:12:33

TikTok谷歌禁令

2009-09-16 11:32:26

Javascript緩

2015-07-31 11:40:36

動效Swift

2021-04-15 07:50:45

Veu 動效Vue應用程序

2015-08-03 10:40:45

動效設計優勢

2013-06-13 16:06:57

iOSWWDCin the Car

2013-04-09 09:11:18

IDF初志科技

2009-06-12 08:51:43

Unix操作系統終端設置

2021-04-27 08:31:06

event loopJavaScriptsetTimeout函
點贊
收藏

51CTO技術棧公眾號

99视频精品免费视频| 久久精品国产亚洲| 久久精品99国产| 国产专区欧美精品| 日韩精品久久久| 9色精品在线| 成人av电影免费| 婷婷亚洲五月色综合| 日韩美女av在线免费观看| 欧美亚洲国产成人精品| av日韩中文字幕| 国产又粗又硬又长| 777电影在线观看| 牛牛影视精品影视| 伊人久久成人| 亚洲伦理中文字幕| 欧美专区在线观看| 中文字幕在线亚洲精品| 亚洲第一se情网站| 免费黄色网址在线观看| 亚洲欧美视频| 中文字幕欧美一区| 国产欧美va欧美不卡在线 | 成人免费高清视频在线观看| 久久免费99精品久久久久久| 99亚洲一区二区| 成人h片在线播放免费网站| 自拍偷拍亚洲图片| 国产suv精品一区二区三区| 天天综合色天天综合色hd| 亚洲高清毛片| 免费观看成人在线| 日韩av二区在线播放| 欧美日韩一级在线| 国产成人av一区| 欧美伦理片在线看| 亚洲电影在线播放| 美女黄视频在线观看| 日韩精品久久久久久福利| 久久久久黄色| 国产精品成人av在线| 亚洲黄页一区| 日韩不卡一二区| 国产婷婷一区二区| 在线看a视频| 日韩色在线观看| 精品三区视频| 国产91在线高潮白浆在线观看| 91久久夜色精品国产按摩| 欧美在线视频二区| 国产亚洲成aⅴ人片在线观看 | av在线不卡免费观看| av成人午夜| 久久66热偷产精品| 污网站在线观看免费| 欧美三级一区二区| 男女啪啪999亚洲精品| 555www成人网| 亚洲色诱最新| 欧美 国产 日本| 福利视频一区二区| 欧美日韩国产v| 国产精品亚洲自拍| 久久精品国产秦先生| 成人eeuss影院在线观看| 欧美视频你懂的| 日韩三级久久| 日本一区免费| 亚洲一区二区精品久久av| 在线视频cao| 国产精品视频久久久久| 麻豆精品视频在线观看| 91xxxxx| 亚洲福利视频久久| 精品国产一区二区三区噜噜噜| 伊人久久大香线蕉精品| 亚洲精品一二三区| 色偷偷色偷偷色偷偷在线视频| 国产成人一区二区三区| 麻豆视频一区二区| 手机福利小视频在线播放| 中文字幕无线精品亚洲乱码一区 | av黄在线观看| 97精品视频在线播放| 免费人成网站在线观看欧美高清| www.99av| 日韩av在线最新| 在线国产一区二区| 亚洲一级片免费| 亚洲美女性视频| 亚洲精品社区| 久久国产情侣| 国产亚洲一区二区精品| 亚洲精品人人| 最近最新中文字幕在线| 色综合久久88| 成人免费毛片a| 色呦呦在线看| 成人国产一区二区| 亚洲综合激情小说| 久久视频社区| 99热这里只有精品免费| 欧美一级一级性生活免费录像| 成人高清电影网站| 视频在线观看免费高清| 亚洲日韩中文字幕| 天堂成人国产精品一区| 欧美日韩国产中文字幕在线| 久久全球大尺度高清视频| 精品一区二区在线观看| 国产一二区在线| 国产日韩三区| 狠狠色狠狠色综合日日五| 久久99影视| 人人澡人人爽人人揉| 麻豆乱码国产一区二区三区| 国产一区二区三区免费播放 | 在线视频国内一区二区| 国产欧美日韩| 97影院理论午夜| 国内精品视频在线| 久久久久久麻豆| 成人噜噜噜噜| 亚洲精品中文字幕无码蜜桃| 最近2019年中文视频免费在线观看| 美国三级日本三级久久99| 麻豆tv免费在线观看| 精品欧美一区二区在线观看视频 | 国产精品99久久99久久久| 精品国产欧美一区二区五十路| 国产一区二区网址| 中文字幕 在线观看| 亚洲图片小说在线| 日韩精品在线免费观看| 国产精品资源站在线| 日本一区美女| 国产午夜精品一区理论片飘花| 欧美亚洲在线| 国产肉体ⅹxxx137大胆| 在线天堂资源www在线污| 精品久久sese| 欧美日韩高清一区二区不卡| 欧美日本一区| 琪琪第一精品导航| 精品国产一区二区三区不卡| 亚洲国产欧美在线观看| 成人女保姆的销魂服务| 亚洲作爱视频| 国产二区视频在线观看| 91亚洲va在线va天堂va国| 天天爽夜夜爽夜夜爽精品视频| 成人在线免费视频观看| 在线视频se| 精品久久久久久一区二区里番| 欧美电影影音先锋| 蜜臀av性久久久久蜜臀aⅴ| 18video性欧美19sex高清| 亚洲高潮无码久久| 超碰日本道色综合久久综合| 国产精品美女久久久久久| 亚洲三级网址| 蜜桃视频在线免费| 视频一区视频二区视频三区视频四区国产 | 亚洲52av| 99久久自偷自偷国产精品不卡| 欧美一级二级三级蜜桃| 国产精品正在播放| 精品久久对白| 国产天堂在线| 免费看黄色a级片| 97成人超碰免| 欧美人与禽zozo性伦| 国产成人精品网址| 黑丝美女一区二区| 在线观看av免费| 久久久性生活视频| 国产精品久久久精品| 精品国产sm最大网站免费看| 91蝌蚪porny九色| 这里只有精品在线| 欧美裸体视频| http://嫩草影院| 玛丽玛丽电影原版免费观看1977 | 欧美亚洲激情在线| 欧美日韩国产高清一区| 国产成人在线视频网站| 精品视频亚洲| 欧美成人精品三级网站| av高清资源| 色呦呦网站入口| 国产精品一区二区三区在线播放 | 日韩久久在线| 97成人精品区在线播放| 日韩欧美自拍偷拍| 亚洲欧美日韩小说| 久草在线在线精品观看| 日韩电影二区| 黄色精品视频| 亚洲乱亚洲乱妇| 老司机午夜激情|