
建立系統架構
|
27
當設計模組介面與思考其中包含的狀態時,切記也需要有方法能夠驗證系統。
沙箱操作
這些作法已經能涵蓋大多數低階與中階的方塊,但仍然有些演算法方塊需要考慮。良好
架構的目標是儘量分離演算法。
Model-View-Controller
(MVC) 模式就是個很好的例子,
這個模式的目的是將應用程式緊密的核心與介面分離,以便能夠獨立開發與測試。
在這個模式中,View 是使用者輸入與輸出的介面,對嵌入式系統的裝置而言,使用者
可能不是人,而是硬體感應器(輸入)與螢幕(輸出)。事實上,如果系統未配備螢幕而
是經由網路送出資料,那 view 甚至不是人眼可見,但仍然是系統輸入與輸出的介面。
model 是應用領域特定(domain-specific)的資料與邏輯,這部分利用輸入的原始資料產
生有用的效果,通常是經由某些讓產品與眾不同的演算法。controller 是 model 與 view
之間的接合者:負責將輸入的資料轉送給 model 處理,以及將 model 產生的資料轉送給
view 顯示或傳送給外部。這幾個元素間有標準的互動方式,但目前只需要知道各部分負
責的功能就行了。
對 Model-View-Controller 不同的看法
好消息是所有人都同意 MVC 包含三個部分,壞消息則是這可能是所有人都同意的
唯一一件事。
model
維護資料、狀態與應用程式邏輯,對氣象站而言,model 包含了氣溫監控
程式與預測模型。對 MP3 播放器,model 包含了音樂資料庫及播放時需要的解碼