MvvmCross 3.09 で新しい RIO サポートを紹介する N=36 チュートリアルを見てきました。INC
フィールドと古い学校のプロパティを同じクラスに組み合わせても安全ですか? プロパティのセッターとゲッターの一部は複雑なので、そのままにしておく方が簡単かもしれません。しかし、私の既存のプロパティの大部分は単純であり、フィールドの優れた候補のようです。
ありがとうマーク
MvvmCross 3.09 で新しい RIO サポートを紹介する N=36 チュートリアルを見てきました。INC
フィールドと古い学校のプロパティを同じクラスに組み合わせても安全ですか? プロパティのセッターとゲッターの一部は複雑なので、そのままにしておく方が簡単かもしれません。しかし、私の既存のプロパティの大部分は単純であり、フィールドの優れた候補のようです。
ありがとうマーク
ここで「安全」という言葉を使うのは興味深い言葉です。この文脈でそれが何を意味するのかは完全にはわかりません。
個人的には、同じプロジェクトと同じビュー モデルで組み合わせて使用しても安全INotifyChanged
だと考えています。.INotifyPropertyChanged
INotifyChanged
INotifyPropertyChanged
私が考えることができる安全でないリスクの潜在的な領域は次のとおりです。
チーム開発とその後のコード メンテナンス - 2 つの異なるアプローチを一緒に使用すると、現在または後のメンテナンスで自分自身や他のコーダーを混乱させる可能性があります。なぜ?"
「すべて変更」サポートの欠如 - INotifyPropertyChanged
ViewModels はすべてが変更されたという通知を送信できます - それらは、null
または空のプロパティ名を使用してこれを行うことができます。INotifyChanged
は現在、この通知に参加していません。私の経験では、この「すべてを変更」メカニズムはほとんど使用されておらず、Mvvm 開発者にはあまり知られていません。したがって、ここでのリスクは小さいです。ただし、誰かがそれを使用しようとすると、INotifyChanged
バインドされたフィールドが更新されないことに驚くかもしれません。
他の Mvvm ライブラリへの移植性 - Rio は MvvmCross が導入したバインディング メカニズムであるため、他の Mvvm プラットフォームではまだ利用できません。Prism のようなものに移植する場合、これはリスクになる可能性があります (これらのフィールドをプロパティとして書き直す必要がある場合があります)。
Windows 開発者を混乱させる - 経験豊富な Xaml 開発者はINotifyPropertyChanged
2005 年までずっと使用に慣れていたので、Xaml内でバインドされたフィールドを取得するためにMvvmCross Xaml Binding Extensionsを使用しなければならないことに混乱する可能性があります。(この混乱が彼らにとって良いか悪いかはあなたの世界観次第です!)