1

(私はおそらく非常に単純なことを考えすぎていますが、それでもなお.)

現在の値を含むパブリック プロパティを持つ GUI コントロールがあります。値はさまざまな方法で内部から変更できます。コントロールは非常に複雑で、動作が異なる子もいます。そのような変更ごとに、サウンドを再生し、イベントを発生させる必要があります。

一方、論理要素によって外部から変更することができます。この場合、すべての GUI コンポーネントを更新する必要がありますが、サウンドは再生されません。

したがって、基本的には、内側用と外側用の 2 つのセッターを使用する必要があります。コードが読みやすくなり、将来のメンテナーが誤って 2 つを混同しないように、これを実装する最良の方法は何ですか? (明らかに、パブリックを使用する必要があるときにプライベート セッターを使用することはできませんが、逆に混乱を招く可能性があります)。

(現在C#を使用していますが、この質問に言語固有のものはないと思うので、タグを省略します。)

4

2 に答える 2

0

単一のセッター メソッドと、何かを実行し (通知を発生させ)、セッターを介して値を変更するメソッドを使用することをお勧めします。

public void set(Type value)
{
    _member = value;
}
public/protected/private void changeAndNotify(Type value)
{
    set(value);
    playSound();
}

より良い設計の私見である複雑なメソッドを使用するセッターの代わりにセッターを使用する複雑なメソッドがあるので、私はそれがもっと好きです。さらに、確認する条件がないため、より明確になります。

于 2013-10-09T14:38:22.450 に答える