データバインディングを利用して、ViewとViewModelを連携させることで、ViewとModelを分離する手法をMVVMという。
Webアプリケーション開発者から見た、MVCとMVP、そしてMVVMの違い - Qiita
前回のデータバインディングをベースに、C++とLinuxCUIで、疑似的なMVVMを作り始めて1週間・・・。
ようやく完成したので貼っておく・・・。
今回も実装は超複雑なので割愛・・・。
実行すると、
$ g++ main.cpp view.cpp custom_view.cpp -o main $ ./main value_ = str1 value_ = str2 value_ = str3 binding_command_update action start action end value_ = ABCDE value_ = XYZ value_ = ABCDEXYZ binding_command_update action start action end value_ = abc value_ = xyz value_ = abcxyz $
こうなる・・・。
Sample/designpattern/mvvm/mvvm/src/mvvm at master · bg1bgst333/Sample · GitHub