自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

論J2EE開(kāi)發(fā)模式低效的原因:用戶無(wú)法參與開(kāi)發(fā)

開(kāi)發(fā) 后端
本篇文章搜集了一些J2EE開(kāi)發(fā)者的評(píng)論,討論J2EE開(kāi)發(fā)模式低效的原因。大部分意見(jiàn)都認(rèn)為,用戶無(wú)法參與開(kāi)發(fā)是J2EE開(kāi)發(fā)模式低效的原因。

J2EE是一種利用Java 2平臺(tái)來(lái)簡(jiǎn)化企業(yè)解決方案的開(kāi)發(fā)、部署和管理相關(guān)的復(fù)雜問(wèn)題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java 2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如"編寫一次、隨處運(yùn)行"的特性、方便存取數(shù)據(jù)庫(kù)的JDBC API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì) EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開(kāi)發(fā)者大幅縮短投放市場(chǎng)時(shí)間的體系結(jié)構(gòu)。

J2EE體系結(jié)構(gòu)提供中間層集成框架用來(lái)滿足無(wú)需太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。通過(guò)提供統(tǒng)一的開(kāi)發(fā)平臺(tái),J2EE降低了開(kāi)發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持Enterprise JavaBeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高了性能。

問(wèn)題是:出于如此美好目的設(shè)計(jì)的技術(shù),最后為何會(huì)變得如此低效,如此難以開(kāi)發(fā),難以維護(hù)呢?

原因當(dāng)然是很多很多了.不同人有不同見(jiàn)解都是很正常的.要把所有原因分析討論完,怕是用盡所有的時(shí)間和硬盤也是不夠的.

在我看來(lái),其中一個(gè)很重要的原因,就是在J2EE的整個(gè)開(kāi)發(fā)維護(hù)過(guò)程中,在項(xiàng)目的整個(gè)生命周期里面,用戶的作用被忽視了,在整個(gè)J2EE的設(shè)計(jì)思路里面,根本沒(méi)有考慮過(guò)最終用戶將如何參與到整個(gè)系統(tǒng)的開(kāi)發(fā),設(shè)計(jì),使用,以及后續(xù)的運(yùn)維中來(lái).
這才是J2EE整個(gè)理論體系的最致命缺陷.雖然目前隨著RIA應(yīng)用的推廣,J2EE本身也在進(jìn)行著演化,但到目前為止,整個(gè)理論體系仍然沒(méi)有突破這一限制.
J2EE本身的基本理論基礎(chǔ),是以服務(wù)器為中心的設(shè)計(jì)思想,一切工作都在服務(wù)器上來(lái)完成和實(shí)現(xiàn).客戶端是為服務(wù)器來(lái)服務(wù)的.在J2EE的整個(gè)理論體系里面,沒(méi)有考慮用戶界面應(yīng)該如何優(yōu)化,也沒(méi)有考慮用戶的實(shí)際體驗(yàn)將是怎樣的.J2EE關(guān)注的重點(diǎn)和核心是后臺(tái)的服務(wù)器.  

作為一個(gè)理論體系,J2EE是完整的,也是相當(dāng)復(fù)雜,難以全部掌握的.

在實(shí)際項(xiàng)目中,用戶的參與是非常重要的,在項(xiàng)目的開(kāi)發(fā)中,用戶不僅給出建議意見(jiàn),在后續(xù)的維護(hù)中,更是用戶本身需要對(duì)系統(tǒng)的進(jìn)一步發(fā)展演化來(lái)進(jìn)行把關(guān).

可以在J2EE的項(xiàng)目里面,用戶想?yún)⑴c到項(xiàng)目的整個(gè)開(kāi)發(fā)過(guò)程中來(lái),實(shí)在是太困難了.

用戶所能夠理解和發(fā)表意見(jiàn)的部分,在整個(gè)項(xiàng)目里面,是用戶的界面部分,操作的流程部分.這一部分,本身也是用戶日后使用中實(shí)際接觸的部分.

而按照J(rèn)2EE的開(kāi)發(fā)模式,絕大部分精力都花費(fèi)在了中間層的J2EE技術(shù)上面,不同J2ee服務(wù)器之間的差異,各個(gè)開(kāi)源框架之間的協(xié)調(diào),各種技術(shù)bug的處理...所有這些把開(kāi)發(fā)人員的時(shí)間和精力全部耗盡了,根本沒(méi)有余力來(lái)和用戶討論界面該如何組織,操作流程如何優(yōu)化.

-------------------------------------------------------------

問(wèn)題的另外一個(gè)方面,就是基于j2ee的開(kāi)發(fā)模式下,界面的開(kāi)發(fā)實(shí)在是太過(guò)困難了.

一旦你采用J2ee的技術(shù)架構(gòu),前臺(tái)的用戶界面,幾乎都選擇采用HTML語(yǔ)言來(lái)編寫,這樣的選擇也不難理解.J2ee剛出來(lái)的時(shí)候,當(dāng)時(shí)只有HTML和Applet可以選用,當(dāng)時(shí)javascript還沒(méi)有發(fā)展到今天的地步.一旦你的技術(shù)團(tuán)隊(duì)選擇了java語(yǔ)言,其他方向的技術(shù)人員自然也就不在考慮范圍之內(nèi)了.大家都用HTML來(lái)寫頁(yè)面了....

但問(wèn)題是,HTML語(yǔ)言來(lái)編寫應(yīng)用程序的界面,實(shí)在是太困難的一件事情.

-------------------------------------------------------------

如果只使用標(biāo)準(zhǔn)的HTML語(yǔ)言,不使用任何的樣式表的話,那么這個(gè)界面實(shí)在是太難看了.

而使用CSS的話,寫這樣的界面又增加了新的困難程度.

對(duì)了,現(xiàn)在還沒(méi)有說(shuō)JavaScript呢,在頁(yè)面上增加javascript,在增加頁(yè)面功能的同時(shí),也增加了頁(yè)面長(zhǎng)度,這些增加的代碼,對(duì)于以后的系統(tǒng)維護(hù),都是一顆顆地雷,后續(xù)者必須以百倍的熱情和謹(jǐn)慎,才能不被這些地雷炸傷.

-------------------------------------------------------------

上面的討論還是僅僅是在技術(shù)層次上進(jìn)行的,其實(shí)還有更重要的一個(gè)方面沒(méi)有談到.

這就是界面開(kāi)發(fā)上的所見(jiàn)即所得.由于Web界面開(kāi)發(fā)的復(fù)雜性,沒(méi)有一個(gè)開(kāi)發(fā)工具可以實(shí)現(xiàn)真正的所見(jiàn)即所得,只能在運(yùn)行的時(shí)候才知道最終的結(jié)果到底是怎么樣的.

在這種情況下,除了增加開(kāi)發(fā)的復(fù)雜度以外,用戶也就被排斥到了整個(gè)開(kāi)發(fā)過(guò)程之外.

用戶沒(méi)有辦法對(duì)界面提出自己的要求,一是這種要求會(huì)被回應(yīng):對(duì)不起,做不到.對(duì)不起,難度太大.二是在整個(gè)界面的開(kāi)發(fā)過(guò)程中,用戶本身是隔離其中的,用戶無(wú)法真正理解界面開(kāi)發(fā)的全部過(guò)程,也就無(wú)法提出合適的意見(jiàn)出來(lái).

-------------------------------------------------------------

這種將用戶隔絕在界面開(kāi)發(fā)過(guò)程的惡果,就是用戶對(duì)最后的界面,包括觀感,包括操作流程,都不夠認(rèn)可,于是經(jīng)典的軟件工作模型開(kāi)始了.

開(kāi)發(fā)人員開(kāi)發(fā)出版本1--->用戶提出修改意見(jiàn)1-->版本2--->意見(jiàn)2--->版本3--->意見(jiàn)3

整個(gè)循環(huán)在項(xiàng)目數(shù)次延遲以后勉強(qiáng)結(jié)束.

我們滿足用戶的需求了嗎?沒(méi)有.

為什么會(huì)有這么多次的反復(fù)呢?因?yàn)閺囊婚_(kāi)始,開(kāi)發(fā)者就沒(méi)有合適的途徑來(lái)接收用戶的反饋意見(jiàn),只有把所有界面都完成才能開(kāi)始接收用戶的界面反饋.因?yàn)闆](méi)有合適的機(jī)制,讓用戶來(lái)參與到整個(gè)項(xiàng)目的開(kāi)發(fā)過(guò)程中來(lái).

--------------------------------------------------------------

J2EE這個(gè)技術(shù)架構(gòu)的致命缺陷,就是沒(méi)有考慮到用戶的參與,它關(guān)注于如何建立一個(gè)理想的技術(shù)烏托邦,而沒(méi)有考慮在現(xiàn)實(shí)的世界里面,沒(méi)有客戶的認(rèn)可,整個(gè)技術(shù)框架都是空中樓閣.

--------------------------------------------------------------

任何的討論,都是有一個(gè)對(duì)立面存在的.

與J2EE相比,我選擇的參照物是Visual Basic(不是vb.net).

VB的最大優(yōu)點(diǎn),就是所見(jiàn)即所得,這個(gè)界面開(kāi)發(fā)的過(guò)程,非常直觀,非常簡(jiǎn)單,也非常容易理解.因此在VB的開(kāi)發(fā)里面,用戶是完全能夠理解這個(gè)界面開(kāi)發(fā)的全部過(guò)程,也能夠提出具體的修改意見(jiàn)出來(lái)的,甚至在培訓(xùn)以后,由用戶自己來(lái)繪制一些界面和調(diào)整一些界面是完全可能的.

正是因?yàn)槿绱?采用VB這類工具開(kāi)發(fā)的過(guò)程中,至少在界面這個(gè)層次上,修改是可控的,用戶對(duì)最終的界面是很容易認(rèn)可的.

而在J2EE里面,事情就不是這樣了.

【編輯推薦】

  1. J2EE開(kāi)發(fā)框架發(fā)展簡(jiǎn)史續(xù)
  2. J2EE下使用JNDI
  3. js及j2ee開(kāi)發(fā)中解決亂碼的小方法
  4. 淺談J2EE開(kāi)發(fā)技術(shù)
  5. J2EE開(kāi)發(fā)框架發(fā)展簡(jiǎn)史 
責(zé)任編輯:book05 來(lái)源: javaeye
相關(guān)推薦

2009-06-18 16:13:14

J2EE開(kāi)發(fā)

2009-06-22 17:09:00

J2EE項(xiàng)目開(kāi)發(fā)流程

2009-06-23 08:06:46

J2EE體系架構(gòu)J2EE模型J2EE設(shè)計(jì)模式

2009-06-11 17:11:07

J2EE設(shè)計(jì)模式工廠模式

2009-06-16 11:14:00

Hibernate+SJ2EE應(yīng)用開(kāi)發(fā)

2009-06-11 17:23:09

J2EE設(shè)計(jì)模式State模式

2011-07-21 14:23:03

J2EE

2009-06-11 17:19:47

J2EE設(shè)計(jì)模式Template

2009-06-10 13:37:06

J2EE可伸縮性J2EE靈活性J2EE維護(hù)

2009-06-10 14:10:23

J2EE學(xué)習(xí)J2EE是什么

2009-06-22 11:50:00

J2EE Web應(yīng)用快速開(kāi)發(fā)

2009-06-22 17:10:51

J2EE中文問(wèn)題Solaris

2009-06-23 16:48:26

J2EE常見(jiàn)問(wèn)題J2EE平臺(tái)

2011-03-08 10:15:39

J2EE

2009-06-23 08:10:47

J2EE開(kāi)發(fā)開(kāi)源項(xiàng)目

2009-06-19 10:09:00

J2EE開(kāi)發(fā)框架

2009-06-11 17:06:11

J2EE歷史Java EE概述

2012-02-21 09:48:10

JavaJ2EE

2012-03-21 09:13:35

JavaJRebel

2012-06-17 13:24:00

JRebelJ2EEJava
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)