2

MvvmCross 3.09 で新しい RIO サポートを紹介する N=36 チュートリアルを見てきました。INCフィールドと古い学校のプロパティを同じクラスに組み合わせても安全ですか? プロパティのセッターとゲッターの一部は複雑なので、そのままにしておく方が簡単かもしれません。しかし、私の既存のプロパティの大部分は単純であり、フィールドの優れた候補のようです。

ありがとうマーク

4

1 に答える 1

2

ここで「安全」という言葉を使うのは興味深い言葉です。この文脈でそれが何を意味するのかは完全にはわかりません。

個人的には、同じプロジェクトと同じビュー モデルで組み合わせて使用​​しても安全INotifyChangedだと考えています。.INotifyPropertyChangedINotifyChangedINotifyPropertyChanged

私が考えることができる安全でないリスクの潜在的な領域は次のとおりです。

  • チーム開発とその後のコード メンテナンス - 2 つの異なるアプローチを一緒に使用すると、現在または後のメンテナンスで自分自身や他のコーダーを混乱させる可能性があります。なぜ?"

  • 「すべて変更」サポートの欠如 - INotifyPropertyChangedViewModels はすべてが変更されたという通知を送信できます - それらは、nullまたは空のプロパティ名を使用してこれを行うことができます。INotifyChangedは現在、この通知に参加していません。私の経験では、この「すべてを変更」メカニズムはほとんど使用されておらず、Mvvm 開発者にはあまり知られていません。したがって、ここでのリスクは小さいです。ただし、誰かがそれを使用しようとすると、INotifyChangedバインドされたフィールドが更新されないことに驚くかもしれません。

  • 他の Mvvm ライブラリへの移植性 - Rio は MvvmCross が導入したバインディング メカニズムであるため、他の Mvvm プラットフォームではまだ利用できません。Prism のようなものに移植する場合、これはリスクになる可能性があります (これらのフィールドをプロパティとして書き直す必要がある場合があります)。

  • Windows 開発者を混乱させる - 経験豊富な Xaml 開発者はINotifyPropertyChanged2005 年までずっと使用に慣れていたので、Xaml内でバインドされたフィールドを取得するためにMvvmCross Xaml Binding Extensionsを使用しなければならないことに混乱する可能性があります。(この混乱が彼らにとって良いか悪いかはあなたの世界観次第です!)

于 2013-07-21T15:16:46.030 に答える