インターフェイスを使用して生産性と拡張性を高めようとしています。それらは非常に強力ですが、理解または実装のいずれかで問題が発生しました。
仮説として、私が制御できないユーザー インターフェイスがあるとします。しかし、一連のロジックを実行するクラス ライブラリを作成しています。私の当初の考えは次のようなものでした:
public interface ISiteForm
{
public string FirstName { get; set; }
public string LastName { get; set; }
// Also any other User Interface Form Fields.
}
これはこのようにレイアウトされるため、User Interfaceによって実装および参照できます。
public class SiteForm : ISiteForm
{
public SiteForm()
{
FormPass();
}
public string FirstName
{
get { return firstName; }
set { firstName = value; }
}
public string LastName
{
get { return lastName; }
set { lastName = value; }
}
private string lastName,
private string firstName,
public void FormPass(string _lastName, string _firstName)
{
// Implementation to assign a value from User Interface into the interface.
lastName = _lastName;
firstName = _firstName;
}
}
私の考えでは、クラス ライブラリが参照されたときに、メソッドが呼び出されたときにそれらのパラメーターがメソッドに渡されます。次に、クラスが作成されたときに自然に。これらの変数をインターフェイスに割り当てます。
したがって、同じ変数を必要とするプロジェクトの他の部分があったとします。インターフェイスを呼び出してセッター値を調整するだけです。
私の懸念は次のとおりです。
- 本質的にインターフェースはロジックを期待していません
- それらは通常ポリモーフィックであり、その特定の実装が失われます。
同じ変数を他の場所で使用できるように、インターフェイスを介してパラメーターを渡すための間違ったアプローチですか?