sgreeve が言うように、関心の分離は、保守可能なコードを得るために考慮すべきことです。
リポジトリのアイデアを使用して、Winform アプリと Web アプリは独自のストレージ プロバイダーを挿入できます。これらのプロバイダーは、継承または構成によって必要に応じて、いくつかの共通ロジックを共有できます。
public class MyClassRepository
{
IStorageProvider _provider;
public MyClassRepository(IStorageProvider provider)
{
_provider = provider;
}
public void Save(MyClass o)
{
_provider.Save(o);
}
public MyClass GetBy(string id)
{
return _provider.GetBy(id);
}
}
Winforms アプリは、次の方法でストレージを呼び出します。
var provider = new WindowsStorageProvider();
var rep = new MyClassRepository(provider);
rep.Save(myClassObject);
および Web アプリ:
var provider = new WebStorageProvider();
var rep = new MyClassRepository(provider);
rep.Save(myClassObject);