千鋒教育-做有情懷、有良心、有品質的職業教育機構
一、python和java相比寫app的區別

從架構模式的角度來說,Java中更側重提到MVC,而在Python中則是MTV。簡單來說,MVC和MTV是類似的,只是歸屬于不同的開發目錄。都是在已有的實現上解耦合,通過配置和擴展來實現復雜的需求。
最終選擇什么編程語言做web開發必須要考慮哪個語言更適合后端業務流程。如果是個相對計算密集型的、需要多線程的,那么就應該慎用Python,或者提前將計算密集的部分拆出去單獨組成服務。如果是業務本身比較繁雜、變更比較頻繁的,Python和PHP這樣的腳本語言就比較合適。
當然跟程序員的個人喜好也有很大關系。比如有些人死都不會去用Java和PHP,但是也有很多人視Java為信仰,所以開發人員的主觀能動性也是很重要的。
Python的好處是開發、部署都很快,變更起來很容易,代碼量小所以拋棄起來也很容易,不容易背上歷史負擔。如果你是穩扎穩打寫了幾百個Java類,那你肯定很難下決心把幾百上千行的代碼都拋棄掉。Python的缺點是運行起來相對Java來說慢得多,性能有瓶頸的時候Java和Go這樣的編譯語言的優勢就體現出來了,不過大部分公司如果不夠快的話,是撐不到性能有瓶頸的時候的。
按照JavaEE的規范,servlet都需要直接或間接的實現Servlet接口,即javax.servlet.Servlet,這個接口里面只定義了5個方法,但是因為servlet是協議無關的,要直接實現還是很困難的,所以,曾經的sun給除了實現Servlet接口的類,是javax.servlet.GenericServlet類。而到了Python棧,情況會略有一些變化。簡單來說,如果不使用任何web框架,我們可以完全使用socket的方式來實現,這也就是Python web應用的本質了。
Python的web開發使得我們更專注于生成HTML文檔。因為我們不希望接觸到TCP連接、HTTP原始請求和響應格式,所以需要一個統一的接口讓我們專心用Python編寫Web業務,這個接口就是WSGI,感覺和servlet有異曲同工之妙。和Java中servlet中service()不同的是,WSGI接口定義非常簡單,只要求Web開發者實現一個函數,就可以響應HTTP請求。
延伸閱讀:
二、Dao層(持久層、數據訪問層)
功能:只負責與數據庫的數據進行交互,dao層是在Mybatis框架下通過@MyBatisDao連接后臺代碼與數據庫的。@Repository用于標注數據訪問組件Dao層。
DAO層首先會創建DAO接口,然后會在配置文件中定義該接口的實現類,接著就可以在模塊中就可以調用DAO 的接口進行數據業務的而處理。
Dao層用來訪問數據庫實現數據的持久化(把內存中的數據永久保存到硬盤中)。
個人理解:Dao層用于定義方法接口,然后在service層和serviceimpl層實現接口的方法,從而達到操作數據庫的目的。對數據庫進行數據持久化操作,方法語句主要是針對數據庫的,主要實現一些增刪改查操作,在Mybatis中的方法主要與xx.xml內相互一一映射。
下一篇
Jdk和Java有什么區別?
相關推薦