MVC模式中的物件導向疑問

來源:互聯網
上載者:User
在MVC中,C層應該是互相獨立的,但是物件導向時候類應該是可以複用的。
這個怎麼理解?

最近再看YII2架構,都說他是物件導向開發,但是在C層中同樣要遵守MVC模式,互相獨立。這樣如何?物件導向?

MVC和物件導向改如何結合和理解?

回複內容:

在MVC中,C層應該是互相獨立的,但是物件導向時候類應該是可以複用的。
這個怎麼理解?

最近再看YII2架構,都說他是物件導向開發,但是在C層中同樣要遵守MVC模式,互相獨立。這樣如何?物件導向?

MVC和物件導向改如何結合和理解?

你必須知道幾個點
1 物件導向是編程思想
2 mvc是一種設計思想
3 mvc和設計模式(Design Pattern)無關
4 遵循mvc設計思想 設計一個系統 用什麼語言 用不用OOP無所謂 一個是設計一個是實現

MVC只是一種模式,並不影響物件導向編程,C層中的一個Action可以想象為一個獨立的入口,程式從這裡開始。

大多數人會直接在C層對應的Action中寫全部的商務邏輯和查詢庫之類的操作,並且不會再建立對象。我認為這種寫法就是在用MVC寫過程事的代碼,並沒有用上物件導向的思想。

而我認為,物件導向一定要有對象才可以,例如當我們需要修改使用者名稱的時候,是對Account對象的name屬性進行修改,然後在用Account::update()來對資料庫操作,才算是物件導向,而不是直接在Action中對資料庫中的某一條記錄直接update操作。

可能有些偏題,這裡有我寫的一篇關於寫代碼方式的文章,希望能為你提供協助。

C作用控制器可以理解為是程式啟動並執行入口(拋開架構的實現過程不考慮),控制器處理流程。 可以複用的類被封裝成模組,即M,模組可以用來操作資料庫,也可以是一個實現某種功能的類庫,並可以做到複用。

MVC已被濫用。有的時候MVC並不適用。MVC只是一種設計思想。

對象是物件類型,mvc是一種思想

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.