<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    技術(shù)架構(gòu)評估

    技術(shù)架構(gòu)評估

    --主要對Java、Dotnet等技術(shù)進(jìn)行綜合評估
    weide

    2005 年 12 月17 日

    在本文中我們將根據(jù)一個業(yè)務(wù)需求對當(dāng)前流行的幾種技術(shù)架構(gòu)進(jìn)行評估。

    這篇文章的目的不是為了評價各種技術(shù)架構(gòu)在單項指標(biāo)上的優(yōu)劣,僅僅根據(jù)我們描述的業(yè)務(wù)需求做出選擇。同時,強(qiáng)烈希望大家發(fā)表自己的意見和建議,幫助我們做出這種選擇。




    業(yè)務(wù)場景描述

    這是一個經(jīng)典的業(yè)務(wù)場景,其核心問題是:作為一家行業(yè)軟件提供商,要形成自己的企業(yè)應(yīng)用框架[6],并在該企業(yè)應(yīng)用框架上搭建行業(yè)的整體解決方案。

    現(xiàn)狀:經(jīng)過多年的積累,我們形成了一個系列的行業(yè)軟件產(chǎn)品,從幾個方面分別描述如下:

    • 滿足的業(yè)務(wù)需求: 服務(wù)于企業(yè)質(zhì)量管理這一行業(yè),同時為滿足不同的業(yè)務(wù)需求,產(chǎn)生了相應(yīng)的多款產(chǎn)品
    • 使用的數(shù)據(jù)庫: SQL AnyWhere、SQLServer、Oracle
    • 開發(fā)語言(工具): PB、VC、Delphi、Dotnet(C#)、Java(JSP)
    • 發(fā)布形式: 核心業(yè)務(wù)仍以C/S為主,最新的項目根據(jù)企業(yè)需求也用Dotnet/Java實(shí)現(xiàn)了少量B/S應(yīng)用。最終的產(chǎn)品線將會是B/S、C/S共存,包括單機(jī)版、網(wǎng)絡(luò)版;標(biāo)準(zhǔn)版、定制版本的產(chǎn)品系列。
    • 經(jīng)營模式: 定制開發(fā)與標(biāo)準(zhǔn)版軟件升級并行,在標(biāo)準(zhǔn)版的基礎(chǔ)上進(jìn)行定制,同時把適用于多數(shù)企業(yè)的新功能合并到標(biāo)準(zhǔn)版中來。
    • 用戶數(shù)許可規(guī)模:當(dāng)前的數(shù)量級為N*10,可預(yù)期的上升空間為幾百到幾千。所以對應(yīng)用服務(wù)器、并發(fā)等性能要求不算太大。

    目標(biāo):
      將這些不同語言開發(fā)的,擁有不同發(fā)布形式,但卻服務(wù)于同一行業(yè)的單個軟件,統(tǒng)一到一致的技術(shù)架構(gòu)下,并增加B/S發(fā)布模式的支持。最終形成B/S與C/S相結(jié)合的產(chǎn)品系列,形成行業(yè)的整體解決方案。
      舉例描述:首先用Java(或C#)搭建企業(yè)應(yīng)用框架,該框架包含認(rèn)證/權(quán)限/組織角色管理、文件管理等通用性的功能。然后在該框架的基礎(chǔ)上把現(xiàn)存 C/S版的--PB實(shí)現(xiàn)的財務(wù)管理系統(tǒng),Delphi實(shí)現(xiàn)的庫存管理系統(tǒng),VC實(shí)現(xiàn)的局域網(wǎng)即時通訊系統(tǒng)的業(yè)務(wù)功能模塊全部用Java或(C#)重寫,并 增加B/S版本的實(shí)現(xiàn)。
      統(tǒng)一到一致的企業(yè)應(yīng)用框架下,形成統(tǒng)一、規(guī)范的開發(fā)方式,使得我們不用再去維護(hù)多個技術(shù)團(tuán)隊;通過一致的企業(yè)應(yīng)用框架,建立積累機(jī)制,逐步形成并完善整個系統(tǒng)的業(yè)務(wù)功能。

    評價方法
    根據(jù)上述業(yè)務(wù)場景的目標(biāo),我們根據(jù)如下幾個因素進(jìn)行評價,同時希望得到大家的意見和建議,最終將在這些數(shù)據(jù)的基礎(chǔ)上形成一個綜合性的評估結(jié)論。

    社區(qū)文化
    開發(fā)語言流行程度
    技術(shù)體系和思維方式
    成本
    學(xué)習(xí)曲線




    社區(qū)文化

    Python和Ruby從技術(shù)角度也能夠滿足我們的要求,但由于在國內(nèi)太“小眾”,缺乏相應(yīng)的技術(shù)支持和客戶基礎(chǔ),現(xiàn)階段不被考慮。Java和dotnet目前都擁有活躍和為數(shù)眾多的開發(fā)社區(qū),我們能夠獲得足夠的交流空間和技術(shù)支持。

    Ruby
    知道Ruby是因為Ruby on Rails,一個相對較新的 Web 應(yīng)用程序框架,構(gòu)建在 Ruby 語言之上。它被宣傳為現(xiàn)有企業(yè)框架的一個替代,而它的目標(biāo),簡而言之,就是讓生活,至少是 Web 開發(fā)方面的生活,變得更輕松。
    但是,對于Ruby實(shí)在生疏的厲害,雖然知道也有相關(guān)的GUI庫,但如果拿它來做一個系列產(chǎn)品,可能人手都找不夠。基本沒有交集,資源不列舉了。


    Python

    http://python.cn,CPUG是中國第一個正式成立的Python用戶的民間組織,在廣大Python愛好者的推動下為宣傳和發(fā)展Python而成立的。
    http://www.czug.org,CZUG.org是一個 面向Zope/Plone用戶、開發(fā)/設(shè)計人員及服務(wù)提供商的社區(qū)。
    啄木鳥社區(qū),是一個開放協(xié)作組織,關(guān)注Python語言的各種應(yīng)用

    Dotnet
    Dotnet最大的社區(qū)是MSDN Home?MSDN中文網(wǎng)站擁有無數(shù)的中文Dotnet技術(shù)資源,這也是國內(nèi)相比Java的一大資源優(yōu)勢。
    Dotnet社區(qū),其中最受關(guān)注的是多是關(guān)于控件以及和技術(shù)關(guān)系不是太大而在非技術(shù)上很有爭議的隨筆.在java社區(qū)已經(jīng)普及的面向?qū)ο笠约澳J降母拍?在.net社區(qū)鮮有提及. 在cnblogs的情況稍微好些. 不過通常局限在運(yùn)用面向?qū)ο蠛湍J絹斫鉀Q一些示例性的小問題.這樣層次似乎太低了,這離企業(yè)級的應(yīng)用差的還比較遠(yuǎn)。[4]
    博客園,專著于.net技術(shù)的blog社區(qū)
    MSDN Home
    MSDN中文網(wǎng)站
    http://www.codeproject.com
    http://www.gotdotnet.com

    Java
      Java由于時間的積累,項目的積累,社區(qū)資源多多。很多在實(shí)踐第一線的開發(fā)人員、架構(gòu)師活躍在各個社區(qū)之中。由于社區(qū)文化的不同,Java社區(qū)有N 多技術(shù)先行者,并樂于把自己的開發(fā)經(jīng)驗分享給整個社區(qū)。而Dotnet由于時間尚短,在這方面相對較差。
      Java開源產(chǎn)品多,面臨的選擇多,各開源項目文檔充分程度各異,且文檔又多以英文為主:( 好在國內(nèi)的Java牛人自發(fā)組織了文檔的翻譯[5],并樂于分享自己的學(xué)習(xí)體驗,這種方式對于技術(shù)的提高又有很大的幫助。

    英文
    TheServerSide.com http://www.theserverside.com/tss
    http://java.sun.com
    http://www.javaworld.com

    中文
    BlogJava http://www.tkk7.com/
    Java視線論壇 http://forum.javaeye.com/index.php
    Matrix http://www.matrix.org.cn
    J道-專業(yè)的Java解決之道 http://www.jdon.com/
    Java愛好者h(yuǎn)ttp://www.javafan.net/index.jsp
    BEA dev2dev 在線 http://dev2dev.bea.com.cn/
    IBM developerWorks 中國 http://www-128.ibm.com/developerworks/cn/java/index.html
    http://www.javaresearch.org Java相關(guān)技術(shù)綜合服務(wù)網(wǎng)站
    http://www.javaworld.com.tw/jute/index.html


    開發(fā)語言活躍程度

    我們將引入兩個排行榜,來評估開發(fā)語言的活躍程度和受歡迎程度。

    TIOBE程序語言使用排行榜
    下面列出2005年11月排行榜,最新排行請參考官方網(wǎng)站[1]。

    近日來,在TIOBE程序員社區(qū)中公布了其2005年11月的程序語言排行榜。這得注意的是PHP即將超過C++成為了排行榜的老三!而Java作為開源先鋒首當(dāng)其沖的成為了龍頭老大,并且仍然保持著很好的增長勢頭。 這個排行榜每月更新一次,其排名順序按照世界范圍內(nèi)的技術(shù)工程師、講師、第三方廠商的調(diào)查依據(jù),并查詢了目前流行的搜索引擎:Google,MSN, Yahoo,結(jié)合前兩者的數(shù)據(jù)計算后得出的。根據(jù)TIOBE的觀點(diǎn),此排行榜是被程序員們用來檢查自己的程序技能是否過時,或者作為建立新的軟件系統(tǒng)時進(jìn)行參考之依據(jù),并非意味著哪種語言是最好的。

    圖 1. 2005年11月TIOBE發(fā)布:世界前20位語言排行榜



    圖示說明:
  • (Position):此列表明當(dāng)前語言與去年位置的變化。
  • Ratings:在查詢搜索引擎計算排名順序時使用了 '+" programming" -tv -channel'公式,對上12個月內(nèi)Google,MSN,Yahoo!和Google新聞組的數(shù)據(jù)進(jìn)行查詢。注意此公式應(yīng)用于標(biāo)準(zhǔn)的Google web點(diǎn)擊率、標(biāo)準(zhǔn)的MSN web點(diǎn)擊率、標(biāo)準(zhǔn)的Yahoo!web點(diǎn)擊率和標(biāo)準(zhǔn)的Google新聞組點(diǎn)擊率。這里的“標(biāo)準(zhǔn)”意味著一次對前50位語言web點(diǎn)擊率總和的查詢是均勻分布的,即保證了排名的相對公正性和科學(xué)性。
  • (Ratings): 此列表明當(dāng)前語言在上12個月內(nèi)的排名變化。
  • Status:帶有“A”的程序語言被認(rèn)為是主流語言。帶有“A-”和“A--”表示程序語言位于“A”和“B”之間。從支持能力的觀點(diǎn)看,盡量在工業(yè)的、任務(wù)危機(jī)的軟件系統(tǒng)中使用帶有“A”的主流程 序語言。如果某種語言在上3個月內(nèi)具有超過0.7%的增長率,則此語言將獲得“A”狀態(tài)。上兩個月內(nèi)具有超過0.7%的增長率的程序語言相應(yīng)的將獲得“A--”和“A-”狀態(tài)。

    圖 2. 2005年11月TIOBE發(fā)布:世界前10位語言在前五年內(nèi)長期發(fā)展趨勢圖


  • sourcefage開源項目所用語言排行榜
    SourceForge.net,全球最大的開放源代碼開發(fā)網(wǎng)站。對各個開發(fā)語言的開源項目統(tǒng)計,最新信息請訪問官方網(wǎng)站[2]。
    以下列出2005.11.25數(shù)據(jù),Java超過C++成為Sourceforge第一語言
    1. Java (16738 projects)
    2. C++ (16731 projects)
    3. C (15934 projects)
    4. PHP (12175 projects)
    5. Perl (6209 projects)
    6. Python (4542 projects)
    7. C# (2892 projects)
    8. JavaScript (2779 projects)
    9. Visual Basic (2192 projects)
    10. Delphi/Kylix (1926 projects)
    11. Unix Shell (1845 projects)
    12. Assembly (1608 projects)
    13. PL/SQL (1145 projects)



    技術(shù)體系與思維方式

    在同樣滿足技術(shù)期望目標(biāo)的情況下,Java和dotnet的體系結(jié)構(gòu)越來越近似,因此對于Java和dotnet架構(gòu)的比較沒有太大意義。

    二 者最大的區(qū)別是社區(qū)文化:Java是由各大公司一塊兒制定規(guī)范,開源產(chǎn)品多,發(fā)展迅速,同時開源產(chǎn)品有些過多了;dotnet基本由微軟控制,底層技術(shù)不 開放,但是對第三方軟件開發(fā)商而言,也很友好,因此現(xiàn)在已經(jīng)有眾多的軟件公司提供dotnet下的組件--這一點(diǎn)很類似于Delphi。Java由幾大 IT公司共同制定和維護(hù)其規(guī)范,有著可選的若干方案;Dotnet由于微軟的強(qiáng)勢地位,只能是一支獨(dú)秀的局面。其它公司采用 Dotnet開發(fā)產(chǎn)品,若微軟也要插一腿,則其它公司很難競爭得過,最終難免衰敗(Borland?)。比如金蝶最早準(zhǔn)備用.net,現(xiàn)在改Java了 (?)

    給 個形象的比喻:走入Dotnet的世界,MS既是Dotnet世界的王,Dotnet世界規(guī)則的制訂者,它就像太陽照亮了廣闊的空間,大家除了仰望,誰能 與其爭輝?Java世界,則是一個誰都能閃爍光芒的地方,能量小的是螢火中,能量大的就是恒星啊(IBM?BEA?)。

    轉(zhuǎn)貼兩篇C# vs. Java:相反的思維方式 (譯文):
    Conflicting mindsets of C# vs. Java,Malcolm Davis,September 12, 2004

    我最近受邀對 C#/.NET 和 Java/J2EE 做一個對比。一開始,我比較了它們的功能特性、產(chǎn)品、技術(shù),然后我發(fā)現(xiàn) C# 和 Java 的戰(zhàn)場并不在這些表面特征方面,而是思維方式層面的競爭。

    坐在辦公電腦前,開發(fā)者腦袋中按兩種相反的思維方式看問題:
    1.接受桌面上已有的工具并以此為標(biāo)準(zhǔn)。
    2.經(jīng)常的搜索能夠提高工作效率的機(jī)會。

    接受主義與探尋主義是兩個社區(qū)的主要思維方式差異。什么是對開發(fā)者有益的,接受主義者放棄了對工具的控制,接受經(jīng)理和賣主的選擇。探尋主義者搜索、尋找正好對他們工作有用的工具。兩種思維方式都有其正面因素和反面因素。

    工具的探尋(包括 IDE,組件,工具等)是正常的、預(yù)想的、首選的行為。作為開發(fā)者,應(yīng)該尋找適當(dāng)?shù)耐緩剑热缧碌某绦颉⒆詣由芍貜?fù)的代碼以及組件重用等途徑,提高工作效率。可是,這對于一個 IT 公司來說,可能是一個不好的兆頭。很多的 IT 公司限制隨意安裝新的軟件,很多公司限制對外部網(wǎng)站訪問,有的還限制對新聞組和 blog 站點(diǎn)的訪問。(當(dāng)然,很難想象有些 IT 公司甚至不允許訪問 weblogs.java.net。)這些 IT 公司有很多適當(dāng)?shù)睦碛桑热鐚Σ《尽⒛抉R軟件傳播的擔(dān)憂,以及由于缺少許可證而導(dǎo)致的法律問題,很多程序員并不清楚也并不關(guān)心引進(jìn)新軟件可能帶來的這些后果。

    四年前,我向一家 IT 公司引進(jìn)了 Ant,Tomcat 和 JUnit,這些工具簡化并加快了 web 編程、測試以及制造的過程,極大的提高了公司的生產(chǎn)效率。現(xiàn)在幾乎每一個 Java 開發(fā)者都已經(jīng)掌握了這些技術(shù)。

    NAnt 和 NUnit 是僅有的一些開源的、對 Java 工具集的 .NET 移植。然而,Microsoft 并不是采納這些已有方案、加以改進(jìn)、并將它們集成到生產(chǎn)線中,而是自己重新創(chuàng)建了類似的產(chǎn)品 Visual Studio Team System。停下來想象一下,會不會有哪家 Java IDE 會聲稱“我們將不會支持 JUnit 或者 Ant,我們將推出我們自己的產(chǎn)品。”這簡直是不可想象的!你現(xiàn)在知道 Java 和 .NET 之間的思維差異了吧:一個采納社區(qū)已有的成熟工具,另一個則重新創(chuàng)造一套集成的方案。因為商業(yè) IT 公司偏愛集成的解決方案,Microsoft Team System 給人感覺不錯。可是,Team System 只是一個落后時代大約 5 年的產(chǎn)品。

    商業(yè)世界的人們已經(jīng)開始使用 Jakarta 項目上發(fā)布的 Ant 和 Tomcat。思維方式凸現(xiàn)了商業(yè)運(yùn)作和 IT 開發(fā)的主要差異。如果商業(yè)軟件能夠遵守和 IT 開發(fā)相同的規(guī)則,它們將壓縮競爭對手的空間,同時失去他們最好的開發(fā)人員。

    由于 IT 公司需要以應(yīng)用程序提供商(Application Service Provider, ASP)的等形式采用外部資源,Java 以及 Open Source 將成為 IT 的主流。Microsoft 的做法最終會傷害他們。ASP 的商業(yè)模式,將帶領(lǐng)我們進(jìn)入一個商業(yè)軟件開發(fā)的新時代。Industrial strength development techniques, cutting edge technology, 以及經(jīng)常性的探尋提高生產(chǎn)效率的機(jī)會,將成為標(biāo)準(zhǔn),我們將看到“小魚吃大魚”的一幕,我們將看到 Java 吃掉 .NET 的午餐。




    Conflicting mindsets of C# vs. Java: Part II,Aaron Hohnson,September 21, 2004

    大家都看到了 Malcolm Davis 剛剛發(fā)表的那篇“C# vs. Java:相反的思維方式”了吧?你也注意到:sourceforge 上 Lucene.NET 的主持者關(guān)閉了項目,帶著他們的玩具回家去了吧?我接著 Malcolm 的話題,說說這兩件事之間的關(guān)系。

    大體而言,.NET 社區(qū)的參與者總是在談?wù)?Microsoft 推出的最新的、最強(qiáng)大的東西:MapPoint Location Server,SQL Server,Longhorn,ASP.NET 2.0,Visual Studio,所有來自雷德蒙(Redmond,微軟總部所在地)的產(chǎn)品。相反的,Java 社區(qū)的程序員在那里談?wù)?JBoss,Hibernate,Struts,Eclipse,這些東西沒有一個來自硅谷。

    Malcom 的文章說,.NET 開發(fā)者接受 Microsoft 提供的工具和服務(wù),我想這在很大程度上是對的。.NET 開發(fā)者很少花時間,開發(fā)持續(xù)層方案(persistence layers),web 應(yīng)用程序框架(web application frameworks)或者緩存解決方案(caching solutions),因為 Microsoft 已經(jīng)為這些問題提供了 Microsoft 解決方案。但是僅僅是因為 Microsoft 提供了這些工具嗎?那為什么 JSF,JDO,NetBeans 不能成為 Java 技術(shù) Blog 站點(diǎn)的主流聲音呢?拿 ASP.NET 和 JSF 作一個細(xì)致的比較,它們并沒有太多的不同,但 ASP.NET 和 Visual Studio 一起被廣泛應(yīng)用,而 JSF 卻很少人用并且飽受嘲弄。我認(rèn)為 Malcom 是對的,的確是思維方式的差異早就了這一切。

    回過頭來看看 Lucene.NET 的那群人吧:他們?yōu)槭裁搓P(guān)閉了開源的項目,他們?yōu)槭裁床辉倮^續(xù)為這個很優(yōu)秀的想法貢獻(xiàn)他們的時間和精力呢?或許 .NET 社區(qū)對他們工作的反響,讓他們無法繼續(xù)維持下去了吧!使用 google 在 weblogs.asp.net 上搜索“l(fā)ucene”只得到了 17 項結(jié)果,而在 jroller.com 得到了 2570 項結(jié)果。Lucene 已經(jīng)存在很長時間了,但 Lucene.NET 的那群人們把東西包起來另起門戶,其中一個原因可能就是:幾乎沒有人關(guān)注他們的工作:大家都在忙著研究 SQL Server 的全文檢索,這才是 Microsoft 提供的解決方案(當(dāng)然,需要為每個處理器花費(fèi)成千的美元購買許可)。在 Java 世界,Lucene,Struts,Tomcat 之所以繁榮,也是因為為一個大的開源項目工作,給開發(fā)者帶來了足夠的威望。而當(dāng)你投身于一個開源項目,卻很少人注意時,沮喪的你也許也要尋找另外的動力。在 Lucene.NET 這個事例中,money 是他們的動力,所以他們關(guān)閉了項目,轉(zhuǎn)而販賣他們的個人版本和商業(yè)版本。他們或許能得到雙倍的美元吧,但我打賭一年以內(nèi),不會有多少人談?wù)? seachblackbox.com 的。

    那么我的觀點(diǎn)是什么呢?是說 .NET 開發(fā)者很貪婪,不關(guān)心社區(qū)嗎?不是這樣的。我認(rèn)為,這兩個社區(qū)有不同的司機(jī):.NET 開發(fā)者盯著 Microsoft,關(guān)心 Microsoft 提供的解決方案,如果他們在車窗外看到了好東西并拿來使用,Microsoft 可能會最終進(jìn)入這個領(lǐng)域,并發(fā)布產(chǎn)品或者提出解決方案,這樣,以前的工作就完全被否定了。Microsoft 是 .NET 社區(qū)的司機(jī)。Java 開發(fā)者們看了看 Sun 推出的產(chǎn)品和語言規(guī)范,扭頭去開發(fā)他們自己的工具、框架、應(yīng)用程序。Sun 推出的東西,Java 社區(qū)的開發(fā)者只有他們確實(shí)喜歡才會去使用。Struts 的門庭若市,與 JSF 的門庭冷落,印證了這一點(diǎn)。在 Java 社區(qū),開發(fā)者自己是司機(jī)。




    Eclipse聯(lián)盟與桌面GUI

    目 前由IBM牽頭,圍繞著Eclipse項目已經(jīng)發(fā)展成為了一個龐大的Eclipse聯(lián)盟,有150多家軟件公司參與到Eclipse項目中,其中包括 Borland、Rational Software、Red Hat、Sybase、SAS等。 作為一款企業(yè)信息化產(chǎn)品,服務(wù)端和客戶端的技術(shù)應(yīng)盡可能的保持一致,這樣能夠最大的限度的資源共用。Eclipse聯(lián)盟的建立使得我們對于Java的桌面 GUI有著充分的信心。

    Eclipse的插件機(jī)制、擴(kuò)展機(jī)制、自動升級、幫助系統(tǒng)等平臺性的功能,使得我們擁有了一個現(xiàn)成的平臺性軟件,很多基礎(chǔ)性工作可以不再重復(fù)去做。

    桌面GUI一向是MS的強(qiáng)項,在性能與界面美觀方面占據(jù)優(yōu)勢,但沒有現(xiàn)成可用足以媲美Eclipse的框架。


    成本

    開發(fā)成本
    另外一個非常重要的問題在于,用Java做為我們的軟件架構(gòu),開源社區(qū)為我們提供了免費(fèi)(或低價)的應(yīng)用服務(wù)器,項目管理工具,開發(fā)工具,數(shù)據(jù)庫系統(tǒng)。這 些足以滿足我們的業(yè)務(wù)需求,而沒有任何版權(quán)問題,而版權(quán)是我們軟件產(chǎn)品經(jīng)營中早晚要面對的問題。我們需要付出的代價就是了解并掌握這些開源的產(chǎn)品;若采用 微軟的技術(shù)架構(gòu),則從開發(fā)工具、應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器、工作流等整套系統(tǒng)全部正版的話,有著高昂的成本。

    用戶實(shí)施成本
    用戶既可以在現(xiàn)有Windows系統(tǒng)上安裝,也可以安裝在Linux系統(tǒng)上,伸縮性良好。同時,可以支持開源的數(shù)據(jù)庫,降低用戶的實(shí)施成本。Java由于有著良好的移植性,和為數(shù)眾多的應(yīng)用服務(wù)器產(chǎn)品,可以滿足各種客戶的需求。



    跨平臺

    Java當(dāng)然比之Dotnet要好很多。只是對于C/S應(yīng)用而言,運(yùn)行在國內(nèi)幾乎90%以上的Windows系統(tǒng)中,跨平臺貌似沒有任何意義。若干年后,如果Linux或其它系統(tǒng)在企業(yè)應(yīng)用中被普及的時候,可能Dotnet也能夠很好的跨平臺了。

    學(xué)習(xí)曲線

    Dotnet入門容易,有著從服務(wù)器到開發(fā)工具的一站式解決方案;Java的入門曲線則相對較高,N多的技術(shù)、開源框架要掌握、要選擇,服務(wù)器、開發(fā)工具的順利使用要做很多的配置工作。
    對于企業(yè)級開發(fā)而言,其關(guān)鍵在于滿足業(yè)務(wù)要求,合理的設(shè)計方案和架構(gòu),設(shè)計模式等,這些無論對于Java或Dotnet都是非常重要的。使用Java來學(xué)的話,由于整個社區(qū)對于架構(gòu)、設(shè)計模式的普及,提升會比dotnet快。



    趣味觀點(diǎn)


    以色列軟件工程師Tamir Khason 揭示出了一個驚人的理論:有大胡子——有旺運(yùn);沒胡子——只有干瞪眼![8]

    圖 3. C#之父Anders Hejlsberg



    圖 4. Java之父James Gosling




    結(jié)束語

    注意了,注意了!走過路過,千萬不要錯過下面的信息啊!

    感謝大家把這篇文章一直看到最后^_^
    既然已經(jīng)看到最后,我誠摯地邀請您再伸出援助之手:請在這篇文章的最后給出您的寶貴意見,格式如下:

    我建議采用的平臺是:(Java/Dotnet/其它)
    我的理由是:...
    我的補(bǔ)充意見:...


    參考資料


    [1] TIOBE程序語言使用排行榜
    [2] sourcefage開源項目所用語言排行榜
    [3] C# vs. Java:相反的思維方式(譯文)
    [4] 質(zhì)疑國內(nèi).Net社區(qū)
    [5] 滿江紅.開源
    [6] 理解企業(yè)應(yīng)用框架,原載于《程序員》
    [7] 整理一下技術(shù)路線,robbin
    [8] 有胡子與沒胡子的區(qū)別
    [9] 微軟是如何輸?shù)鬉PI之戰(zhàn),

    關(guān)于作者

    最近正在進(jìn)行本文所描述的技術(shù)架構(gòu)評估,對于Java和Dotnet有些舉棋不定。熱切希望得到大家的寶貴建議,再次感謝!


    posted on 2005-12-19 21:52 weide 閱讀(23253) 評論(29)  編輯  收藏

    評論

    # re: 技術(shù)架構(gòu)評估 2005-12-19 23:31 非魚

    Glad to see your awesome work. :)

    Personaly, I think your article put too much energy on technical matter. But actually far from what you want. Maybe you should focus on Enterprise Application Integration than technology choice.

    From now, I can't see which tech is more suitable to your situation. Please check your problem and your purpose. I don't think they are corresponding to each other.

    Legacy apps mostly did not use component technology, thus you must think about to integrate them on persistence level. while you want them to be used continuiously, you should think of collecting information to build a publishing system, unless you are ready to replace them, do not focus on concrete technology/platform by now.  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-19 23:32 臨海觀潮

    單純比較語言的優(yōu)劣意義不大,針對特定的問題都能夠找到合適的解決辦法,這個解決問題取決于開發(fā)人員應(yīng)用語言的能力而不是語言的本身。
    從風(fēng)險驅(qū)動的角度考慮,個人感覺選擇架構(gòu)需要首先要考慮的是公司自身開發(fā)人員的的專長和公司的外部合作伙伴關(guān)系,比如和微軟有非常好的合作關(guān)系應(yīng)該首選.net,這樣可以獲得長期的價值保證。團(tuán)隊的開發(fā)能力也是重要的方面,如果都熟悉.net的話選擇.net項目成功的可能性高。
    如果單從技術(shù)性角度考慮還是考慮未來系統(tǒng)的應(yīng)用領(lǐng)域,大型的應(yīng)用系統(tǒng)J2EE的成功經(jīng)驗多,相對風(fēng)險小,此外相關(guān)的平臺選擇性比較多,使得最終產(chǎn)品/平臺可以給用戶提供多種價格選擇。如果有跨平臺的要求應(yīng)該優(yōu)先考慮J2EE。  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-19 23:36 xzer

    好吧,說兩句

    我建議采用的平臺是:java
    我的理由是:當(dāng)你面臨眾多選擇的時候,那既是痛苦,也是歡樂,當(dāng)你被ms綁架的時候,只有痛苦。
    我的補(bǔ)充意見:雖然大家對hibernate評價很高,我也對它評價很高,但我仍然覺得它的配置過于煩瑣了,ruby on rails的約定大于配置的思想是很值得學(xué)習(xí)的,為什么沒有人做一個hibernate on rails呢。。。  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-19 23:44 非魚

    @臨海觀潮

    Excellent perspective. I thought about it but forgot to wrote them down. Many cases, when you finished a system, you may find that marketing was more important than what you thought before. Since it do act an important role while developing, you should think about it, at least ask someone to do that.  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-20 00:16 weide

    @非魚

    我想是“解決企業(yè)信息化中的信息孤島,形成統(tǒng)一的整體解決方案”這句話,使你認(rèn)為我應(yīng)該focus on Enterprise Application Integration than technology choice

    實(shí)際上,我這句話并不是通常所言“信息集成”,和EAI關(guān)系也不大。我說的信息孤島,是指我們現(xiàn)在幾個產(chǎn)品之間,互相獨(dú)立,各自有自己的組織機(jī)構(gòu)和權(quán)限管理,開發(fā)語言又各不相同,這帶來的問題是:我們需要用不同的開發(fā)工具(開發(fā)語言)維護(hù)多套產(chǎn)品中的組織機(jī)構(gòu)和權(quán)限管理,多次重復(fù)勞動;且代碼模塊不能很方便的被新的系統(tǒng)所重用。

    現(xiàn)在要做的工作是,把PB寫的產(chǎn)品A使用Java(或C#)重寫,把用Delphi寫的產(chǎn)品B也使用Java重寫,把VC寫的產(chǎn)品C同樣也使用Java重寫,同時把各個產(chǎn)品共用的模塊,比如組織機(jī)構(gòu)、權(quán)限管理等,只要維護(hù)一份代碼就OK了。為企業(yè)實(shí)現(xiàn)定制功能的時候,由于全部功能模塊都是由同一語言實(shí)現(xiàn)的,所以可以靈活組裝成滿足企業(yè)多個要求的“整體解決方案”。

    Do I make sense?  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-20 00:44 非魚

    @weide

    Oh, Either you misleaded me or I miunderstanded you.

    Forget it. I think the platform choice mainly depends on the system scale. Of couse you should think about other issues. As I know (from friends), there's no successful Enterprise Level system (I mean very large scale) on .net platform. Try to identify your system scales:

    1. Is it a information collecting/organizing/OLAP system?
    2. Are you preparing to use Workflow in the coming system?
    3. Do you have any complex business process?
    4. Is it a real distributed system?
    5. Are the customers mature with IT, could they make full/less use of IT technology to help themselves?

    First of all, you should try to manage system change, then complexity. Also find out what design level you are in may help you to do better.

    Besides, environment influence may not be ignored and should be pay more attention to.  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-20 01:30 weide

    @非魚

    Sorry,是我誤導(dǎo)了你,修改了Blog中關(guān)于業(yè)務(wù)場景描述的部分。

    其中核心問題:作為一家行業(yè)軟件提供商,要形成自己的企業(yè)應(yīng)用框架[6],并在該企業(yè)應(yīng)用框架上搭建行業(yè)的整體解決方案。也就是把各個系統(tǒng)中共性的、普遍性的問題提取出來,形成“企業(yè)應(yīng)用框架”。其它的業(yè)務(wù)功能,用同一開發(fā)平臺重新實(shí)現(xiàn)為業(yè)務(wù)功能模塊。最后通過企業(yè)應(yīng)用框架和業(yè)務(wù)功能模塊,組裝成產(chǎn)品系列。

    關(guān)于你上面提到的幾個問題,由于現(xiàn)在我們服務(wù)的主要客戶是中小企業(yè),所以關(guān)于工作流等,考慮使用免費(fèi)的方案;數(shù)據(jù)挖掘,以前沒用,近期也沒有打算...  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-20 12:07 Programmer's Life

    根據(jù)weide最近的這個回復(fù):
    "其中核心問題:作為一家行業(yè)軟件提供商,要形成自己的企業(yè)應(yīng)用框架[6],并在該企業(yè)應(yīng)用框架上搭建行業(yè)的整體解決方案。也就是把各個系統(tǒng)中共性的、普遍性的問題提取出來,形成“企業(yè)應(yīng)用框架”。其它的業(yè)務(wù)功能,用同一開發(fā)平臺重新實(shí)現(xiàn)為業(yè)務(wù)功能模塊。最后通過企業(yè)應(yīng)用框架和業(yè)務(wù)功能模塊,組裝成產(chǎn)品系列。"

    那我推薦你采用java
    理由:要形成自己的企業(yè)應(yīng)用框架,那么必須自己能夠根據(jù)框架的需求做出特定的框架,這個在.net上的實(shí)現(xiàn)難度遠(yuǎn)遠(yuǎn)大于java,而且.net的更新勢必影響到整體框架的建設(shè),而在java中則不是如此。
    Java界的開源產(chǎn)品確實(shí)眾多,但以思想角度考慮則大多相同,只是在框架級別上各自有自己特性的地方,相對.net而言,有得選擇就比沒得選擇好。
    以中小型企業(yè)項目這個角度去講的話,我覺得采用哪種技術(shù)都無所謂,但想要形成一個自己公司的統(tǒng)一框架的話,java的優(yōu)勢無疑可以得到極大的發(fā)揮,但前提條件是有投入此框架研發(fā)的決心,如果沒有的話,.net仍是首選,畢竟.net相當(dāng)于已經(jīng)提供了一套框架。
    另外一個角度就是從服務(wù)器端操作系統(tǒng)的競爭去闡述,這個角度去看仍然認(rèn)為unix占有絕對的優(yōu)勢,從這樣的角度的話無疑選擇java對于企業(yè)會更為有利。  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-20 13:27 idior

    可以看出樓主在這篇文章上花了不少功夫,文章也確實(shí)不錯。

    首先我先回避文章最后提到的問題,來評價一下文章的內(nèi)容


    ---
    博客園,專著于.net技術(shù)的blog社區(qū)
    MSDN Home
    MSDN中文網(wǎng)站



    中文
    BlogJava http://www.tkk7.com/
    Java視線論壇 http://forum.javaeye.com/index.php
    Matrix http://www.matrix.org.cn
    J道-專業(yè)的Java解決之道 http://www.jdon.com/
    Java愛好者http://www.javafan.net/index.jsp
    BEA dev2dev 在線 http://dev2dev.bea.com.cn/
    IBM developerWorks 中國 http://www-128.ibm.com/developerworks/cn/java/index.html
    http://www.javaresearch.org Java相關(guān)技術(shù)綜合服務(wù)網(wǎng)站
    http://www.javaworld.com.tw/jute/index.html
    ----

    從以上的數(shù)據(jù)來看,.net社區(qū)在國內(nèi)是多么的弱小。

    ---
    學(xué)習(xí)曲線

    Dotnet入門容易,有著從服務(wù)器到開發(fā)工具的一站式解決方案;Java的入門曲線則相對較高,N多的技術(shù)、開源框架要掌握、要選擇,服務(wù)器、開發(fā)工具的順利使用要做很多的配置工作。
    對于企業(yè)級開發(fā)而言,其關(guān)鍵在于滿足業(yè)務(wù)要求,合理的設(shè)計方案和架構(gòu),設(shè)計模式等,這些無論對于Java或Dotnet都是非常重要的。使用Java來學(xué)的話,由于整個社區(qū)對于架構(gòu)、設(shè)計模式的普及,提升會比dotnet快。
    ---
    再配合這段話, 更加催發(fā)我得出一個建議:
    如果你有很好的基礎(chǔ)(聰明,經(jīng)過了系統(tǒng)的學(xué)習(xí)) 那么我建議你從java開始你的程序設(shè)計之路。(assembly,c++暫且不談), 那樣你會成長得很快。



    從ms對待nunit, nant的態(tài)度來看, 如果你想在developer的市場上和ms競爭, 那么或許結(jié)局會很慘, 無數(shù)的歷史證明了這一點(diǎn), 在.net平臺下可能不久將上演的一場 JetBrains vs MS 好戲。

    但是如果你開發(fā)的是特定領(lǐng)域的應(yīng)用(中國軟件公司通常做的是這個), 似乎不會和ms發(fā)生競爭,而且他還會對你提供幫助。所以這種遭ms打壓的問題,對于大部分中國公司來說應(yīng)該是不存在的。



    ---
    舉例描述:首先用Java(或C#)搭建企業(yè)應(yīng)用框架,該框架包含認(rèn)證/權(quán)限/組織角色管理、文件管理等通用性的功能。然后在該框架的基礎(chǔ)上把現(xiàn)存C/S版的--PB實(shí)現(xiàn)的財務(wù)管理系統(tǒng),Delphi實(shí)現(xiàn)的庫存管理系統(tǒng),VC實(shí)現(xiàn)的局域網(wǎng)即時通訊系統(tǒng)的業(yè)務(wù)功能模塊全部用Java或(C#)重寫,并增加B/S版本的實(shí)現(xiàn)。
    ---
    This is nearly impossible for us! 其實(shí)這里摟主提出了一個對遺留系統(tǒng)的整合,對企業(yè)內(nèi)部應(yīng)用和企業(yè)外部應(yīng)用整合的想法。 有這種想法也不足為奇, 這也是最近SOA火熱的原因, 不管在java還是在.net社區(qū)(國外) SOA都是最近很熱的一項技術(shù)。

    最近剛好看到IBM的征文:
    http://domino.research.ibm.com/library/cyberdig.nsf/1e4115aea78b6e7c85256b360066f0d4/0fd9b681aadeffa1852570cf005fdc06?OpenDocument



    Now focus on the last question:

    我建議采用的平臺是:(Java/Dotnet/其它)
    java .net 讓他們做各自擅長的領(lǐng)域,讓開發(fā)team選擇自己熟悉的語言。

    我的理由是:...
    集成,整合 不能靠統(tǒng)一一個框架來實(shí)現(xiàn), 這樣你最多解決了企業(yè)內(nèi)部的問題,而且重新實(shí)現(xiàn)原有的系統(tǒng)也是投資者所不能接受的。

    應(yīng)該讓SOA在其中發(fā)揮更大的作用。

    我的補(bǔ)充意見:...
    如果你有很好的基礎(chǔ)(聰明,經(jīng)過了系統(tǒng)的學(xué)習(xí)) 那么我建議你從java(而不是.net)開始你的程序設(shè)計之路。(assembly,c++暫且不談), 那樣你會成長得很快。








      回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-20 13:33 idior

    另外對于樓主想讓我轉(zhuǎn)發(fā)本文到cnblogs上的意見, 我倒是想讓大家看到這篇文章,不過cnblogs首頁不提倡轉(zhuǎn)貼,所以有3個方法:
    1. 在我的下篇隨筆中給出本文的連接(最近可能會寫一篇有關(guān)soa的隨筆)
    2. 樓主到cnblogs注冊 一個賬號,然后發(fā)布該文
    3. 讓dudu轉(zhuǎn)一下 :)

    BTW: 個人比較頭疼這種背景,字又很小 看得眼花了 :S  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-20 14:02 大維

    把開發(fā)工具升高到這么高的高度的,也只有程序員了
    從用戶的角度,考慮的是價格和開發(fā)周期
    誰在乎你用什么  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-21 09:33 Ninputer

    .NET社區(qū)力量不夠,我就要盡我的力量提高它,完善它
    .NET創(chuàng)新不夠,我就更努力地提高,更多創(chuàng)新,讓更多新思想從.NET社區(qū)產(chǎn)生,讓JAVA社區(qū)來學(xué)習(xí)
    .NET有這樣那樣的缺陷,我們的職責(zé)就是努力改變這樣的現(xiàn)狀。

    .NET不行我們的目標(biāo)就是讓他行!不是轉(zhuǎn)投JAVA。為什么?所有JAVA能舉出的好處都是別人努力和創(chuàng)新的結(jié)果,只是選擇和學(xué)習(xí)沒有成功的可能。不可能復(fù)制成功  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-21 12:13 Fantasysoft

    存在即是真理,評估優(yōu)劣似乎意義已不大。各種各樣的技術(shù)都有它所適合的應(yīng)用場景,否則它會被歷史淘汰的。

    我更期待不同的技術(shù)能夠相互學(xué)習(xí),相互借鑒,畢竟尊重對手是很重要的。  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-21 20:13 errorter

    如果是中小型的 Web 應(yīng)用,Rails 是一個很好的方案;重新學(xué)習(xí)沒有你想的那么可怕  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-21 23:25 weide

    @Fantasysoft

    “各種各樣的技術(shù)都有它所適合的應(yīng)用場景”,說得好!
    本文雖然也描述了一個業(yè)務(wù)場景,只是之后的評估并沒有直接針對這個場景的關(guān)鍵決定因素來展開--僅僅是對幾個因素的宏觀對比,這幾個對比的結(jié)果,僅僅讓我親Java而遠(yuǎn)Dotnet。  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-22 00:30 weide

    今天化了一天的時間開評論會;邀請了其中一人是以前的同事,現(xiàn)在在微軟中國。他有著對微軟的強(qiáng)烈認(rèn)同感、榮譽(yù)感,對dotnet的技術(shù)體系也非常熟,一整套分析方法分析下來,大家填寫評估表的時候基本都選擇了Dotnet...

    到場的Java開發(fā)者,缺少架構(gòu)師級的能力,所以被比下去了;另外讓我感到困惑的是:似乎使用Java同時做B/S版和C/S程序的公司并不太多?大多使用Java更多聚焦在Web模式的開發(fā)上,做Web開發(fā)使用的技術(shù)又不盡相同,即使選擇了Java,還得在一堆Web框架里進(jìn)行選擇...

    請大家繼續(xù)大力支持!(看完了,給出寶貴意見啊~~)

    公司在北京,有能力有時間的朋友想提供技術(shù)支持的話,歡迎與我聯(lián)系 !  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-22 00:49 非魚

    @weide

    If the application is not to be an Enterprise Level one, .net would not be a bad choice. Even so I want to state that .net is a "robber's boat" besides technology aspect. ^_^  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-22 00:56 weide

    ◎非魚

    Enterprise Level的界定就是你上次描述的四條?

    1. Is it a information collecting/organizing/OLAP system?
    2. Are you preparing to use Workflow in the coming system?
    3. Do you have any complex business process?
    4. Is it a real distributed system?

    或者說Java比之Dotnet在Enterpise Level方面到底強(qiáng)在哪里?  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-22 01:07 weide

    @非魚

    好半天才鑿摸過勁兒來,"robber's boat",強(qiáng)盜的船,原來就是俗語的“上了賊船”啊,貼切

    英語也有這種說法?  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-22 10:00 非魚

    @weide

    The 4 rules help you to identify a system's scale. Normaly a very large scale system can be called Enterprise Level. Many Enterprise Level systems consist of more than one organization and probably span a large physical area.

    PS: robber boat is my words.  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-22 10:49 idior,

    到場的Java開發(fā)者,缺少架構(gòu)師級的能力.

    難道就因為這個你們放棄java?!
    何況那個了解.net架構(gòu)師還不是你們公司的。

    .net下所有的分布式技術(shù)都是分散的。
    remoting, es, msmq, ws都是各干各的,完全沒有一個統(tǒng)一的模型,至少要等indigo出來才會有所好轉(zhuǎn)。  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-22 12:51 非魚

    @weide

    看了你的網(wǎng)站。感覺你們發(fā)布了很多應(yīng)用程序,這樣看來似乎SOA比較適合,你們以后可以向ASP(Application Service Provider)發(fā)展。  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-24 15:06 jiniboy

    我們可以仔細(xì)想一想,其實(shí)我們更多的人還是生活在少數(shù)幾個人的影子里。我們都知道這樣的話,人民是歷史的創(chuàng)造者,可真正描述起歷史來還不是說某某人的時代,某某人的朝代。這也說明,微軟式的專斷,是自然的事情。java和dotnet的分別正是民主和集中的體現(xiàn),你能說哪一種是優(yōu)良的嗎。  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-25 00:38 weide

    @errorter
    我們還有C/S應(yīng)用的部分,也用Ruby,未知的陷阱太多了

    @idior
    把評價因素改了,長遠(yuǎn)的技術(shù)選擇要兼顧,更重要的眼前,呵呵
    對于我們的項目而言,有兩個因素:
    1.找到一個半成品(開源框架),解決企業(yè)應(yīng)用中的一些共性問題,加快進(jìn)度
    2.解決B/S與C/S下的圖形繪制問題,目前Java和Dotnet下都在做這方面的工作。且圖形的交互能力,比如拖動圖片上的元素,暫不考慮

    當(dāng)然到最后發(fā)現(xiàn),真正決定因素:
    1.領(lǐng)導(dǎo)/開發(fā)團(tuán)隊喜歡什么
    2.開發(fā)團(tuán)隊熟悉什么
    3.哪種技術(shù)能讓開發(fā)團(tuán)隊先熟悉起來  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-31 20:49 hawk_e2e

    路過。
    我是這樣考慮的,希望有所幫助:
    1.先別談用JAVA還是C#。
    2.樓主要先確定系統(tǒng)的當(dāng)前目標(biāo)(系統(tǒng)的市場優(yōu)勢和適用范圍)和以后目標(biāo)。
    3.在這些目標(biāo)下系統(tǒng)的架構(gòu)如何,如何演化。
    4.系統(tǒng)總有若干個關(guān)鍵的技術(shù)問題,無論用什么框架都需要論證可行性。
    5.用JAVA和C#,只要主體上合適就行了。主要看技術(shù)支持力度。

    另:不知道系統(tǒng)規(guī)模如何,6個月是否夠?可否考慮穩(wěn)妥的方法:先把目前各個部分的核心模塊封裝成組件。在新架構(gòu)下進(jìn)行整合。以后再重寫呢?  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2005-12-31 20:53 hawk_e2e

    難以整合或整合不了的才重寫  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2006-03-08 20:09 blueski

    我冒昧轉(zhuǎn)摘了此文,http://www.sawin.cn/doc/SD/Architect/blueski411.htm
    多謝!  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2006-04-29 19:12 pc

    有意思  回復(fù)  更多評論   

    # re: 技術(shù)架構(gòu)評估 2006-05-10 01:25 dvd

    我也正為此事苦惱之中
    對別人說上一句"這個問題要看你的項目而定"
    爾在自己定的時候就很難, 特別是我對2都還算喜歡
    了解的水平也都還差不多的時候.
    .. .. 無解之中  回復(fù)  更多評論   


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    <2005年12月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導(dǎo)航

    統(tǒng)計

    公告

    需要做一些改變了

    常用鏈接

    留言簿(2)

    我參與的團(tuán)隊

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产免费观看网站| 亚洲a∨国产av综合av下载| 国产一级做a爱免费视频| 久久久久久夜精品精品免费啦| 亚洲AV色无码乱码在线观看| 久久亚洲AV无码精品色午夜 | 免费人成视频x8x8入口| 免费能直接在线观看黄的视频 | 嫩草影院免费观看| 精品福利一区二区三区免费视频| 国产色无码精品视频免费| 猫咪免费人成在线网站| 亚洲AV香蕉一区区二区三区| 亚洲精品一区二区三区四区乱码| 国产亚洲综合成人91精品| 亚洲精品高清一二区久久| 国产老女人精品免费视频| 久久精品免费一区二区喷潮| 中文字幕免费视频| 日韩在线永久免费播放| 在线免费播放一级毛片| 香蕉视频在线免费看| 一级片在线免费看| 精品一区二区三区无码免费直播| 亚洲精品无码永久在线观看男男| 国产91在线|亚洲| 亚洲人成黄网在线观看| 激情五月亚洲色图| 亚洲乱码在线卡一卡二卡新区 | 成视频年人黄网站免费视频| 777爽死你无码免费看一二区| 伊人免费在线观看高清版| 亚洲阿v天堂在线2017免费 | 国产精品亚洲mnbav网站 | 精品亚洲成a人在线观看| 亚洲成熟丰满熟妇高潮XXXXX| 亚洲免费网站观看视频| 亚洲国产精品成人综合色在线| 亚洲一卡一卡二新区无人区| 亚洲AV无码一区二区三区久久精品 | 亚洲一区二区三区日本久久九 |