3 回答

TA貢獻(xiàn)1793條經(jīng)驗 獲得超6個贊
使用os模塊來獲取當(dāng)前文件的絕對路徑和拼接路徑。 import os BASE_DIR = os.path.dirname(__file__) #獲取當(dāng)前文件夾的絕對路徑 print BASE_DIR file_path = os.path.join(BASE_DIR, 'Test_Data') #獲取當(dāng)前文件夾內(nèi)的Test_Data文件 Test_Data

TA貢獻(xiàn)2039條經(jīng)驗 獲得超8個贊
MVC(Model/View/Controller)模式是國外用得比較多的一種設(shè)計模式,好象最早是在Smaltalk中出現(xiàn)。MVC包括三類對象。Model是應(yīng)用對象,View是它在屏幕上的表示,Controller定義用戶界面對用戶輸入的響應(yīng)方式。
模型-視圖-控制器(MVC)是80年代Smalltalk-80出現(xiàn)的一種軟件設(shè)計模式,現(xiàn)在已經(jīng)被廣泛的使用。
1、模型(Model)
模型是應(yīng)用程序的主體部分。模型表示業(yè)務(wù)數(shù)據(jù),或者業(yè)務(wù)邏輯.
2、視圖(View)
視圖是應(yīng)用程序中用戶界面相關(guān)的部分,是用戶看到并與之交互的界面。
3、控制器(controller)
控制器工作就是根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示和更新model對象狀態(tài)。
MVC 式的出現(xiàn)不僅實現(xiàn)了功能模塊和顯示模塊的分離,同時它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性
早期的程序中,如果不注意對數(shù)功能和顯示的解耦合,常常會導(dǎo)致程序的復(fù)雜及難以維護(hù)。很多VB,Delphi等RAD程序都有這種問題。甚至現(xiàn)在的C#,Java有時候也會出現(xiàn)把業(yè)務(wù)邏輯寫在顯示模塊中的現(xiàn)象
管MVC設(shè)計模式很早就提出,但在Web項目的開發(fā)中引入MVC卻是步履維艱。主要原因:一是在早期的Web項目的開發(fā)中,程序語言和HTML的分離一直難以實現(xiàn)。CGI程序以字符串輸出的形式動態(tài)地生成HTML內(nèi)容。后來隨著腳本語言的出現(xiàn),前面的方式又被倒了過來,改成將腳本語言書寫的程序嵌入在HTML內(nèi)容中。這兩種方式有一個相同的不足之處即它們總是無法將程序語言和HTML分離。二是腳本語言的功能相對較弱,缺乏支持MVC設(shè)計模式的一些必要的技術(shù)基礎(chǔ)。直到基于J2EE的JSP Model 2問世時才得以改觀。它用JSP技術(shù)實現(xiàn)視圖的功能,用Servlet技術(shù)實現(xiàn)控制器的功能,用JavaBean技術(shù)實現(xiàn)模型的功能
JSP Model 1 與 JSP Model 2
SUN在JSP出現(xiàn)早期制定了兩種規(guī)范,稱為Model1和Model2。雖然Model2在一定程度上實現(xiàn)了MVC,但是它的應(yīng)用用并不盡如人意
JSP Model 1
JSP Model 2
model2 容易使系統(tǒng)出現(xiàn)多個Controller,并且對頁面導(dǎo)航的處理比較復(fù)雜
有些人覺得model2仍不夠好,于是Craig R. McClanahan 2000年5月提交了一個WEB framework給Java Community.這就是后來的Struts.
2001年7月,Struts1.0,正式發(fā)布。該項目也成為了Apache Jakarta的子項目之一
Struts 質(zhì)上就是在Model2的基礎(chǔ)上實現(xiàn)的一個MVC架構(gòu)。它只有一個中心控制器,他采用XML定制轉(zhuǎn)向的URL。采用Action來處理邏輯
- 3 回答
- 0 關(guān)注
- 2274 瀏覽
添加回答
舉報