4

どこにも答えがないように見える質問が 1 つあります。これは、コードをインターフェイスと分離することに関するものです。問題は、SOLID の依存関係逆転の原則に従うために、(作成および使用されている) 他のオブジェクト内のすべてのオブジェクトをインターフェイスにリファクタリングする必要があるかどうかです。偶数駆動メソッド内でオブジェクトを新規作成するのはどうですか? ボタンを押したときに呼び出されるメソッド。コンストラクターなど、オブジェクトを渡す必要がありますか? もちろん、これはすべて私のオブジェクトに適用され、BCL には適用されませんか?

4

1 に答える 1

5

ミリムースは素晴らしい答えを出しました。プログラミングの問題に対する正しい答えであるため、特に優れています:)

少しだけ詳しく説明したいと思います。このようなシナリオを扱う場合、次の条件が成り立ちます。

  1. デカップリングには独自のコストが伴います。
  2. 作業したい時間が常に得られるとは限らないため、完璧なコードはありません。
  3. コードが可能な以上に結合されていても、それは世界の終わりではありません。

したがって、オールオアナッシングの命題の観点から見るのではなく、スコアのように見てください。どのくらいのカップリングを我慢できますか? デカップリングにいくら払っても構わないと思っていますか? ある時点で、設計時間と認識された保守性とのバランスがとれます。とにかく、コードがどのように変更されるかさえわからないことを覚えておいてください。

「イベントベースのプログラミング: イベントを限界まで」という本を聞いたことがありますか? カップリングがすべてです

著者は、すべての結合を排除することはできませんが、変換することはでき、結合はより単純なクラスに移行する必要があると主張しています。おそらく、あなたの努力のガイドとしてそれを使用することができます.

于 2012-12-15T00:45:03.907 に答える