0

ContextBoundObject特定のメソッドを使用できるインターセプトから継承するフォームが必要です。問題は、C#では多重継承が許可されていないことです。

public partial class FrmListItems : Form, ContextBoundObject
{

}

誰かが何か考えを持っていますか?

4

1 に答える 1

0

データ バインディングを使用してフォーム上の UI 要素に入力し、必要なすべてのデータを画面に表示するContextBoundObjectよりも、 を継承して必要なすべての動作を実装する「モデル」クラスをいつでも作成できます。MVx パターン ( MVPMVCMVVM )などのさまざまなパターンを見て、ビジネス ロジックを UI から明確に分離できます。

C# に多重継承がある場合でも、そのような継承を避けることをお勧めします。これは、これらのクラス間の「IS A」関係に違反するためです。

保守コストを削減するために、設計について常により深く考える必要があります。UI とビジネス ロジックを 1 つのクラスにまとめると、コードがわかりにくくなり、維持や進化が難しくなります。

たとえば、ソリューションをテストする方法を理解するのは難しいです。別のクラスを使用すると、テスト容易性も大幅に簡素化されます。

于 2012-12-18T15:47:22.640 に答える