2005年8月30日 星期二

MVC (Model View Controller)

  From http://www.javaworld.com.tw/jute/post/view?bid=5&id=42531&sty=3

  所謂 MVC,指的是一種劃分系統功能的方法,它將一個系統劃分爲三個部分:
  • 模型(Model):封裝的是資料源和所有基於對這些資料的操作。在一個元件中,Model往往表示元件的狀態和操作狀態的方法。

  • 視圖(View):封裝的是對資料源Model的一種顯示。一個模型可以由多個視圖,而一個視圖理論上也可以同不同的模型關聯起來。

  • 控制器(Controller):封裝的是外界作用於模型的操作。通常,這些操作會轉發到模型上,並調用模型中相應的一個或者多個方法。一般Controller在Model和View之間起到了溝通的作用,處理用戶在View上的輸入,並轉發給Model。這樣Model和View兩者之間可以做到鬆散耦合,甚至可以彼此不知道對方,而由Controller連接起這兩個部分。

  •   使用MVC的好處,一方面,分離資料和其表示,使得添加或者刪除一個用戶視圖變得很容易,甚至可以在程式執行時動態的進行。另一方面,將控制邏輯和表現介面分離,允許程式能夠在運行時根據工作流,用戶習慣或者模型狀態來動態選擇不同的用戶介面。


沒有留言: