bin^2

bin^2

discord server
twitter

UI架構模式——MVC/MVVM/MV對比

MVC/MVVM/MV 對比#

scale 2
!theme vibrant
namespace mvc {
	namespace ui {
		class 控制器
		class 視圖
	}
	namespace data {
		class 模型
	}
	控制器 --> 視圖 : 更新和監聽
	控制器 --> 模型 : 獲取和設置
	視圖 --> 模型
}
namespace mvvm {
	namespace ui {
		class 視圖
		class 視圖模型
		視圖 --> 視圖模型 : 數據綁定
	}
	namespace data {
		class 模型
		視圖模型 --> 模型 : 獲取和設置
	}
}
namespace mv {
	namespace data {
		class 有狀態模型
		class 模型
		有狀態模型 --> 模型
	}
	namespace ui {
		class 視圖
		視圖 --> 有狀態模型 : 觀察和操作
	}
}

image

MVX#

  • 優先使用有狀態模型
  • 如果無法修改有狀態模型或僅修改 ui 層,則使用視圖模型
  • 如果沒有數據綁定框架,使用控制器
scale 2
!theme vibrant
namespace data {
	class 有狀態模型
	class 模型
	有狀態模型 --> 模型
}
namespace ui {
	class 視圖模型
	class 視圖
	class 控制器
	控制器 --> 視圖 : 更新和監聽
    控制器 --> 視圖模型 : 獲取和設置
	視圖 --> 視圖模型 : 數據綁定
	視圖模型 --> 有狀態模型 : 觀察和操作
	視圖 --> 有狀態模型 : 觀察和操作
}

image

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。