
MVC 和類別(Classes)
|
5
本書第三章將會有更多關於模型的說明,像是如何從伺服器端獲取所需的資料,以及如
何建立物件關聯式對應(object-relational mapper,簡稱 ORM)。
檢視器(View)
檢視器(view)指的是讓使用者檢視、操作的介面。JavaScript 應用程式裡的檢視器,
大多都是由 HTML、CSS,以及 JavaScript 模版(template)三者構成。檢視器裡面不應
該包含任何程式邏輯,頂多只能在模版裡面放一些簡單的條件式敘述句。
檢視器和模型一樣,不能跟應用程式的其他任何部分存在耦合關係。檢視器不該知道關
於控制器和模型的任何資訊(檢視器應該是獨立的元件)。將程式邏輯寫進檢視器裡面,
是邁向毀滅的開端。
請別誤會,我並不是說 MVC 完全不允許我們撰寫任何和檢視器相關的程式邏輯—只要
別把這些邏輯直接寫進檢視器裡面就好。檢視器的程式邏輯應該要放在
輔助器
(helper,
指的是另一支獨立的 script 程式,內含一些和檢視器相關的小型工具函式)裡面。
以下這段範例程式碼就是標準的錯誤示範(它把程式邏輯直接寫進檢視器裡了):
// template.html
<div>
<script>
function formatDate(date) {
/* ... */
};
</script>
${ formatDate(this.date) }
</div>
上述這段程式碼直接把
formatDate()
函式寫進檢視器裡面,這就違反了 MVC 的精神, ...