校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 程序員 代碼是從頭編還是使用框架好呢?

程序員 代碼是從頭編還是使用框架好呢?

熱門標簽:怎么去掉地圖標注文字 地圖標注資源分享注冊 海南人工外呼系統(tǒng)哪家好 北京外呼系統(tǒng)咨詢電話 高德地圖標注公司位置需要錢嗎 合肥阿里辦理400電話號 襄陽外呼增值業(yè)務(wù)線路解決方案 慶陽外呼系統(tǒng)定制開發(fā) 廊坊地圖標注申請入口

在編碼的世界里,程序員永遠不要期待東西保持靜止太久。技術(shù)已經(jīng)決定了我們?nèi)绾位印?chuàng)造、學習、生活等,并且不斷發(fā)展。對于程序員來說,只有靠近和依賴最新技術(shù)才能完成任務(wù)。而且最深刻的改變之一就是框架、編程語言以及兩者之間的范式轉(zhuǎn)變。

編程語言本質(zhì)上是與計算機通信的方式,并通過使用語法和語義告訴計算機要做什么??蚣苁菂R集了一起完成任務(wù)的程序的集合,使編碼更有效率,并且通常使程序員的生活更容易。

當然,二者絕不是對立的關(guān)系,只是編程社區(qū)中仍然存在一些爭議:到底是應(yīng)該自己從頭開始編寫代碼還是使用各種框架簡化編碼過程呢?有些很受歡迎的框架可能會給人帶來錯覺,比如Ruby on Rails和Angular.JS等,其實,編程語言和隨附的框架都在不斷上升和繁榮。

框架VS自定義解決方案

為什么框架發(fā)展得越來越好,因為越來越多的程序員選擇使用框架。當處于實際的項目開發(fā)中,程序員就會發(fā)現(xiàn)項目周期短,使用框架可以最有效地節(jié)約時間。如果完全從頭開始編程,使用時間太多不說,對程序員的個人編碼水平也提出了很高的要求,一定要非常了解所用的編程語言才具備從頭開始的實力。

但是,如果使用框架沒有缺點,這篇文章就沒有存在的必要了。關(guān)鍵是,雖然框架做了很多基礎(chǔ)工作,但這并一定完全適合于項目所需,可能要進行一些修改。而從頭開始編碼,自然是完全按照項目需求來的,甚至你會比框架發(fā)布者做得更好。

框架,比如Ruby on Rails可幫助用戶減少編碼細節(jié)問題,很多不好的編碼習慣都將被良好的框架清理。當然,使用框架也需要對所用編程語言有一定了解才可以,您需要對Ruby有一個全面的認識,才可以用好Rails。從一般設(shè)計到安全性問題,框架可以代替一些繁重的工作。

自動化正在接管一切

現(xiàn)在,自動化正在滲入整個編碼過程,程序員不需要再細細梳理數(shù)千行代碼,很多無意義的附加組件或錯誤被編譯器和自動化協(xié)議剝離,旨在刪除不必要的代碼段。這種演變要求程序員對特定代碼的準確性要十分了解。

學習正確的工具

正如文章開頭所說,編程語言和框架都在不斷成長。而且其成長之一就是依賴于應(yīng)用程序接口(API)和算法來幫助程序員完成任務(wù)。例如,框架通常定義和實現(xiàn)算法,并且使得算法正確,這有時對編程成功至關(guān)重要,而不是語法細節(jié)。如果涉及到一些框架無法實現(xiàn)的功能,還是需要程序員親自動手。框架只是可以節(jié)約時間的編程工具,在程序員的工作中扮演著“輔助”角色。

建議:使用正確的框架,結(jié)合部分自己編碼可以有效縮短項目開發(fā)周期,同時準確率高,降低無效代碼數(shù)量!

程序開發(fā)為什么要使用框架

什么是框架

在的J2EE開發(fā)中,經(jīng)常會提到“框架”這個詞匯,例如Spring,Struts,Webx等等都稱之為J2EE開發(fā)框架。那么什么是框架呢?

框架的英文為Framework,帶有骨骼,支架的含義。

在軟件工程中,框架被定義為整個或部分系統(tǒng)的可重用設(shè)計,表現(xiàn)為一組抽象構(gòu)件及構(gòu)件實例間交互的方法;另一種定義認為,框架是可被應(yīng)用開發(fā)者定制的應(yīng)用骨架。

一個框架是一個可復用的設(shè)計構(gòu)件,它規(guī)定了應(yīng)用的體系結(jié)構(gòu),闡明了整個設(shè)計、協(xié)作構(gòu)件之間的依賴關(guān)系、責任分配和控制流程,表現(xiàn)為一組抽象類以及其實例之間協(xié)作的方法,它為構(gòu)件復用提供了上下文(Context)關(guān)系。

框架是實現(xiàn)了某應(yīng)用領(lǐng)域通用功能的底層服務(wù)。使用這種框架的編程人員可以在一個通用功能已經(jīng)實現(xiàn)的基礎(chǔ)上開始具體的系統(tǒng)開發(fā)。框架提供了所有應(yīng)用期望的默認行為的類集合。具體的應(yīng)用通過重寫子類或組裝對象來支持應(yīng)用專用的行為。

通俗的說,框架是完成是某種應(yīng)用的半成品,提供了一些常用的工具類和一些基礎(chǔ)通用化的組件,可以供開發(fā)人員在此基礎(chǔ)上,更便捷的完成各自特有的系統(tǒng)。

為什么要用框架

軟件系統(tǒng)發(fā)展到今天已經(jīng)很復雜了,特別是服務(wù)器端軟件,涉及到的知識,內(nèi)容,非常廣泛。這樣開發(fā)出完善健壯的軟件,對程序員的要求將會非常高。如果采用成熟,穩(wěn)健的框架,那么一些基礎(chǔ)的通用工作,比如,事物處理,安全性,數(shù)據(jù)流控制等都可以交給框架處理,那么程序員只需要集中精力完成系統(tǒng)的業(yè)務(wù)邏輯設(shè)計,可以降低開發(fā)難度。

從程序員角度看,使用框架最顯著的好處是重用,由于框架能重用代碼,因此從一已有構(gòu)件庫中建立應(yīng)用變得非常容易,因為構(gòu)件都采用框架統(tǒng)一定義的接口,從而使構(gòu)件間的通信簡單。框架能重用設(shè)計。它提供可重用的抽象算法及高層設(shè)計,并能將大系統(tǒng)分解成更小的構(gòu)件,而且能描述構(gòu)件間的內(nèi)部接口。這些標準接口使在已有的構(gòu)件基礎(chǔ)上通過組裝建立各種各樣的系統(tǒng)成為可能。只要符合接口定義,新的構(gòu)件就能插入框架中,構(gòu)件設(shè)計者就能重用構(gòu)架的設(shè)計??蚣苓€能重用分析。所有的人員若按照框架的思想來分析事物,那么就能將它劃分為同樣的構(gòu)件,采用相似的解決方法,從而使采用同一框架的分析人員之間能進行溝通。

一種技術(shù),最終都是為業(yè)務(wù)發(fā)展而服務(wù)的。從業(yè)務(wù)的角度來講。首先,框架的是為了企業(yè)的業(yè)務(wù)發(fā)展和戰(zhàn)略規(guī)劃而服務(wù)的,他服從于企業(yè)的愿景(vision);其次,框架最重要的目標是提高企業(yè)的競爭能力,包括降低成本、提高質(zhì)量、改善客戶滿意程度,控制進度等方面。最后,框架實現(xiàn)這一目標的方式是進行有效的知識積累。軟件開發(fā)是一種知識活動,因此知識的聚集和積累是至關(guān)重要的。框架能夠采用一種結(jié)構(gòu)化的方式對某個特定的業(yè)務(wù)領(lǐng)域進行描述,也就是將這個領(lǐng)域相關(guān)的技術(shù)以代碼、文檔、模型等方式固化下來。

合理的使用框架可以帶來的好處

重用代碼大大增加,軟件生產(chǎn)效率和質(zhì)量也得到了提高;
代碼結(jié)構(gòu)的規(guī)范化,降低程序員之間溝通以及日后維護的成本;
知識的積累,可以讓那些經(jīng)驗豐富的人員去設(shè)計框架和領(lǐng)域構(gòu)件,而不必限于低層編程;
軟件設(shè)計人員要專注于對領(lǐng)域的了解,使需求分析更充分;
允許采用快速原型技術(shù); 有利于在一個項目內(nèi)多人協(xié)同工作;
大粒度的重用使得平均開發(fā)費用降低,開發(fā)速度加快,開發(fā)人員減少,維護費用降低,而參數(shù)化框架使得適應(yīng)性、靈活性增強。

框架分類

框架與類庫是不同的,框架強調(diào)的是軟件的設(shè)計重用性和系統(tǒng)的可擴充性,以縮短大型應(yīng)用軟件系統(tǒng)的開發(fā)周期,提高開發(fā)質(zhì)量。

與傳統(tǒng)的基于類庫的面向?qū)ο笾赜眉夹g(shù)比較,應(yīng)用框架更注重于面向?qū)I(yè)領(lǐng)域的軟件重用。應(yīng)用框架具有領(lǐng)域相關(guān)性,構(gòu)件根據(jù)框架進行復合而生成可運行的系統(tǒng)??蚣艿牧6仍酱?,其中包含的領(lǐng)域知識就更加完整。

J2EE有很多開源框架,一般每一種框架都會針對某一方面領(lǐng)域。

Struts是基于JavaEE應(yīng)用的MVC設(shè)計模式的應(yīng)用框架,減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合,以及讓視圖層更富于變化。

Hibernate是一個對象關(guān)系映射框架,目的是讓Java程序員可以使用對象編程思維來操縱數(shù)據(jù)庫。

Spring是一個綜合型框架,致力于J2EE應(yīng)用的各層的解決方案,而不是僅僅專注于某一層的方案??梢哉fSpring可以作為應(yīng)用開發(fā)的“一站式”選擇,并貫穿表現(xiàn)層、業(yè)務(wù)層及持久層。然而,Spring并不想取代那些已有的框架,它可以與其他框架無縫地整合。

考慮到面向的領(lǐng)域,以及實現(xiàn)編碼實現(xiàn),我們可以將將框架至少分為三類。

第一類是基礎(chǔ)類庫,主要包含多數(shù)項目所需要的類庫。(開發(fā)人員將其作為一個類庫使用,可以簡化一些常用的算法邏輯。)

第二類是基礎(chǔ)框架,該框架應(yīng)該整合或者實現(xiàn)J2EE開發(fā)所需要的常用功能。(此框架可以為各類WEB項目開發(fā)提供基礎(chǔ)支持。)

第三類是平臺框架,針對于某種特定領(lǐng)域,實現(xiàn)特定領(lǐng)域所需要的常用功能。(這個框架需要實現(xiàn)具體領(lǐng)域的業(yè)務(wù)的邏輯。并且應(yīng)該支持各類擴展)

標簽:平頂山 綿陽 鶴崗 商丘 哈密 株洲 鎮(zhèn)江 臺州

巨人網(wǎng)絡(luò)通訊聲明:本文標題《程序員 代碼是從頭編還是使用框架好呢?》,本文關(guān)鍵詞  程序員,代碼,是,從頭,編,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《程序員 代碼是從頭編還是使用框架好呢?》相關(guān)的同類信息!
  • 本頁收集關(guān)于程序員 代碼是從頭編還是使用框架好呢?的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 日照市| 中山市| 孝昌县| 湘乡市| 上栗县| 南平市| 鄂尔多斯市| 台中县| 寿光市| 修水县| 定州市| 呈贡县| 屯昌县| 即墨市| 江山市| 铁岭县| 嵩明县| 永仁县| 抚顺市| 汉沽区| 合阳县| 牟定县| 济源市| 全南县| 东源县| 澄城县| 苏尼特右旗| 雅江县| 醴陵市| 伊宁市| 闸北区| 哈密市| 岳普湖县| 呼玛县| 视频| 庆安县| 闵行区| 新干县| 合肥市| 古蔺县| 兴宁市|