最近接觸一個簡單的框架,是用MV VM實現的。工作後,筆者一直接觸的MVC。
view持有管理着一個viewModel;
view 持有viewModel的一個數據、方法集合data;
view在構建的時候,監聽data上的數據,綁定data的方法,實現Model-view的更新通路;
view通過 的UI事件綁定viewModel或者view自己的方法;
view通過自身的publishAPI方法,添加自己的公開方法給viewModel;
view對viewModel是不透明的,只有view主動暴露的API,可以被viewModel操作。viewModel對view暴露自己的data集合。
viewModel持有一個Model,並且管理Model;
viewModel通過調用view公開的API方法來訪問view;
viewModel通過調用Model的方法實現數據的獲取和處理,並通過方法中的回調得到Model處理好的數據;
model負責獲取數據、處理數據;
不同組的view,viewModel,Model之間,通過viewModel通信;