OKだから私のコードベースでインターフェイスを使い始めることにしました。これは特定のタスクではうまく機能します。例えば、私はIUrlBuilderを実装するURLビルダークラスを持っていますが、実装は関係ありません。ブリリアントですが、例えばこのインタフェースを利用してください。インターフェイスベースのプログラミング、私はそれを正しくやっていますか?
namespace SproutMessagingFramework.Webtext.Interfaces
{
using System.Net;
public interface ICookieJar
{
CookieCollection Collection { get; set; }
CookieContainer Container { get; set; }
void AddResponse(HttpWebResponse Response);
void AddResponse(HttpWebResponse Response, string Path, string Domain);
}
}
私の見解では、このインターフェースは、これらの2つの方法が文句を言わない、具体的なクラスがすでにやっているだろう何よりも他の多くをやっている、かなり具体的なです。それで私はなぜそれをインターフェイスにしましたか?私の考えは、AddResponseの実装を変更する必要がある場合はどうですか?
これが正しいのですか、それともコードベースが肥大化していますか?
インタフェースベースのプログラミングは、デカップリングについてです。あなたはバージョンアップしようとしているのですか? –
私は心配することは一度もありません。私のコードベースを拡張する手段が私に合ったコードに存在する限り。私はwhat-ifsを体系化するために私の道から出ることはありませんが、同時に私は足で自分自身を撃てないでしょう。 – deanvmc