2016-09-09 1 views
0

は、次のテキストブックのサンプルクラスを考えてみましょう:Winforms、どのようにUIの依存関係を注入せずにUIを更新するには?

class Worker 
{ 
    public void SomeUpdateMethod(SomeObject input) 
    { 
     // Some long running process, candidate for a multi-threaded operation 
    } 
} 

ワーカークラスはUIについて何も知らないので、それは再利用可能と考えることができます。

ただし、UIを更新した後 - 今度はビジネスオブジェクト(この場合はWorkerクラス) - 更新する必要があるUI要素を認識する必要があります。これはラベルまたはプログレスバーです。

これは反パターンのようです。また、クリーンなレイヤー(ビジネスロジックとプレゼンテーション)構造を解除します。

この問題はどのように解決されましたか - 小規模な例か、高水準の理論だけで解決できますか - ありがとうございます。

+1

"UI(ビジネスオブジェクト)(この場合はWorkerクラス)を更新したら、更新する必要のあるUI要素を認識する必要があります。"なぜ??例えば、wpfはオブジェクトに実装された 'INotifyPropertyChanged'インタフェースに喜んで依存します。ビジネスオブジェクトは、状態が変化したときにイベント[s]を生成できます – ASh

答えて

0

イベントと代議員がこれを行う方法です。

関連する問題