51新出的家園不錯,發文章有快捷鍵,方便不少
 
一直做運維,以前對”開發模式”的意義一直是似懂非懂,今天和耗子(http://blackanger.blog.51cto.com)一番對話讓我豁然開朗.
 
現將關鍵部分擷取如下
:何為web開發框架?
 
:假如你開發一個web應用,一些基礎的東西,都需要你自己實現,比如http request,cookie,建立與資料庫連線等等,都需要你自己做。 所謂框架,就是幫你實現了這些基礎的東西,讓你把精力都集中到業務開發上面。
 
yahoon 11:08:11
那是不是相當於一個函式庫 你只需要呼叫?
 
愛因思談 11:08:51
應該是函式庫的邏輯組裝,為了web開發,已經實現了一些構建web應用需要的基礎層
 
yahoon 11:09:38
那就是說 我的專案程式碼裡面 要先裝框架 ?
 
愛因思談 11:10:25
不一定啊,看你專案是什麼啊,需要你自己寫,或者用開源的框架,或者不用
 
愛因思談 11:10:47
有些應用根本沒有現成的框架可用
 
yahoon 11:11:22
恩恩  反正就是一套獨立的東西 實現了一些功能, 你的程式要用的話 就先裝
 
yahoon 11:11:28
是不是這個意思?
 
愛因思談 11:11:36
是的
 
愛因思談 11:12:06
實現了一些基礎的功能,就是大部分web應用需要重複的工作,都幫你實現了,而你就不需要重複那些工作了。
 
愛因思談 11:12:17
通用的東西
 
yahoon 11:13:03
  那相當於不同的語言 都各自一套框架了
 
愛因思談 11:14:21
算是吧 實現方式不同,但是都異曲同工
 
yahoon 11:15:03
就比如 mvc這套
php有phpmvc
jsp 也有自己的一套是吧?
 
愛因思談 11:16:32
spring webwork 是Java的,還有好多
ruby 是ruby on rails,merb,不過現在rails3把merb整合了,還有一些其他輕量級的
 
愛因思談 11:17:48
還有ruby寫的遊戲開發框架,GUI開發框架,手機開發框架,等等。都是實現了對應領域的基礎通用的工作。
 
yahoon 11:18:18
咋感覺都是MFC的後續品種
 
愛因思談 11:19:07
不要比較,就像練太極拳,忘記以前的招式
 
總結:何謂開發框架?
就是根據應用的領域,實現這個領域基礎性通用性功能的一套東西.
比如web開發框架:像http request,cookie,建立資料庫連線等等這些操作通常都需要你自己做。所謂框架,就是幫你實現了這些基礎的東西,讓你把精力都集中到業務開發上面。
例如在web開發領域流行的開發模式–MVC,各自的語言都有自己的一套實現,實際上大部分框架都是基於MVC的
:並不是每個專案都需要使用框架,有些場景或許根本沒有合適的框架可用.
 
附 百度裡面搜的MVC(部分摘錄)
何謂MVC?
MVC是三個單詞的縮寫,分別為: 模型(Model),檢視(View)和控制Controller)。 MVC模式的目的就是實現Web系統的職能分工。 Model層實現系統中的業務邏輯,通常可以用JavaBean或EJB來實現。 View層用於與使用者的互動,通常用JSP來實現。 Controller層是Model與View之間溝通的橋樑,它可以分派使用者的請求並選擇恰當的檢視以用於顯示,同時它也可以解釋使用者的輸入並將它們對映為模型層可執行的操作。
MVC本來是存在於Desktop程式中的,M是指資料模型,V是指使用者介面,C則是控制器。使用MVC的目的是將M和V的實現程式碼分離,從而使同一個程式可以使用不同的表現形式。比如一批統計資料你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。
MVC如何工作
MVC是一個架構模式,它強制性的使應用程式的輸入、處理和輸出分開。使用MVC應用程式被分成三個核心部件:模型、檢視、控制器。它們各自處理自己的任務。
檢視
檢視是使用者看到並與之互動的介面。對老式的Web應用程式來說,檢視就是由HTML元素組成的介面,在新式的Web應用程式中,HTML依舊在檢視中扮演著重要的角色,但一些新的技術已層出不窮,它們包括Adobe Flash和像XHTML,XML/XSL,WML等一些標識語言和Web services.
如何處理應用程式的介面變得越來越有挑戰性。MVC一個大的好處是它能為你的應用程式處理很多不同的檢視。在檢視中其實沒有真正的處理髮生,不管這些資料是聯機儲存的還是一個僱員列表,作為檢視來講,它只是作為一種輸出資料並允許使用者操縱的方式。
模型
模型表示企業資料和業務規則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用像EJBs和ColdFusion Components這樣的構件物件來處理資料庫。被模型返回的資料是中立的,就是說模型與資料格式無關,這樣一個模型能為多個檢視提供資料。由於應用於模型的程式碼只需寫一次就可以被多個檢視重用,所以減少了程式碼的重複性。
控制器
控制器接受使用者的輸入並呼叫模型和檢視去完成使用者的需求。所以當單擊Web頁面中的超連結和傳送HTML表單時,控制器(例如:servlet)本身不輸出任何東西和做任何處理。它只是接收請求並決定呼叫哪個模型構件去處理請求,然後確定用哪個檢視來顯示模型處理返回的資料。
現在我們總結MVC的處理過程,首先控制器接收使用者的請求,並決定應該呼叫哪個模型來進行處理,然後模型用業務邏輯來處理使用者的請求並返回資料,最後控制器用相應的檢視格式化模型返回的資料,並通過表示層呈現給使用者。
 
耗子如果對版權有異議,可以到我這裡來申訴,但本人保留駁回的權利