newcomer體驗—mvc模式體驗

前言:laravel

    筆者做爲一個剛剛開始學習的小白級別的人,在這裏寫下的只是本身在實際中所聞所見所思所想,屬於我的經驗,不必定對,有不正確的地方但願予以指出。git

正文:程序員

    廢話很少說,咱們先上圖看看mvc模式究竟是個什麼東東?spring

如上圖所見mvc(Model View Contraller)模式是一種映射傳統開發的輸入,處理,輸出的一種開發規範。數據庫

      學習中我第一個真正意義上開始接觸框架,數據庫,視圖,依賴等是使用laravel+composer(管理依賴),估計各路大神一看就知道是怎麼回事,但對於新手來講,實際在學習的過程當中,這玩意確實是會困擾你一兩天。session

    開始正題,在使用laravel這套框架的時候:mybatis

    migrations:M(model)用於管理數據庫中的各類操做,建立表,關聯Contraller,.env文件配置數據庫啊等。mvc

    views:很直白了,就是視圖層的東西,固然,Nothing is simple,筆者是個愛追根問底的人,可是也在學習的過程當中學乖了,先學會用,至於爲哈?之後能明白了在說吧,否者,你會:什麼是session?什麼是request?傳來傳去的那個數據對象到底叫啥名,視圖層又怎麼去取?...具體的不少細節也只能說是在實際中慢慢去體會了。app

    contrallers:C(contraller),若是說view 和model很好理解的話,那麼對於你說惟一有點挑戰的就是contraller層了,這一層定義了訪問路由(routes),業務邏輯等等方面的東西,也是在學習過程當中最容易出現bug(姑且用這個高大上的名稱吧)的地方,在這一程或許對於咱們來講是各類各樣的邏輯錯誤,一遍一遍的看代碼,一遍又一遍的重寫,但對計算機來講,其實就是你打錯幾個符號的問題。composer

    在這裏筆者總結了本身學習的步驟:

    1:Model層:無論什麼項目,先把你的數據庫關聯上,不一樣的框架有不一樣的方法去關聯,好比laravel中.env文件,mybaits中的appliction.yml文件,git別人項目的時候必定要把這個改掉,不然——你會經歷絕望。

    2:將Model層與Contraller層關聯,仍是那句話,具體看是什麼框架,通常是一個類,或者一個接口

    3:關聯Contraller和View,怎麼返回視圖,怎麼定義路由,怎麼獲取對象數據。

    4:永遠虛心學習,否者——你會發現你看別人的代碼。。。不過這就是各路大神存在的意義嘛。

相信細心的朋友看見了上圖中惟一一處使用圖標的地方也表示了MVC最煩人的地方,木有統一規範,對,木有!可是或許在開發過程當中上手快的朋友在看完設計的那一刻就大概明白了什麼是MVC了,就算模模糊糊,寫一兩個邏輯就能迅速的明白怎樣區分。

下面咱們就來比較一下:

        PHP:   composer+laravel  VS Java:  Jfinally+mybatis+spring+freework

從上面你們就能夠看出不一樣的語言不一樣的特性,可是沒有好壞,一切由需求決定。

前一套前面已經介紹的差很少了,咱們來簡單的看看後一套。

固然具體配置,怎麼注入什麼的請各位看官自行百度,Blog是個好東西

Model:工具Mybaits,特色使用Xml對數據庫進行處理,只用定義好接口就能夠

View:我不寫頁面,這就比較尷尬,哈哈(尷尬臉)。。。

Contraller:一樣,這一層也是比較複雜:

    contraller —》Service —》Dao(interface) —》Xml —》數據庫

其實仍是挺有邏輯和順序的是吧。

總結:

    mvc模式在上手以後能很快就分清怎麼去作,邏輯清晰(固然各個框架不同)對於筆者這樣的小白來講體驗過一兩次後仍是能很快的上手的。(先學會怎麼去使用的狀況)

    寫具體的代碼是一個細心的過程,不管你認爲本身寫的又多完美,在報錯的那一瞬間...多看信息,細心養成習慣纔是最重要的

固然,若是你去看司機的代碼。。。

求解:全是接口怎麼玩

引用阮一峯的話「別說本身是程序員」,代碼是要寫的,更重要的是學會思考,而不是爲了寫代碼寫代碼,由於我才知道有個玩意叫代碼生成器。。。 求心理陰影面積。。。

相關文章
相關標籤/搜索