流暢なインターフェイスを使用して次のプロジェクトを構築できるように、簡単な例を作成しようとしています。私のdllのユーザーに、クラスを構築するための直感的なステップバイステップの方法を提供する必要があります。
質問。最初の開始、ステップ 1、ステップ 2、終了のときにのみ初期化を表示するようにユーザーに表示したいのですが、どうすればよいですか?
これは私の試みです。あなたはすべてを見ます、そして彼らは隠れます。
class Program
{
static void Main(string[] args)
{
IEnd builder = new StepBuilder()
.Initialize()
.LoadStuff()
.Validate()
.End();
}
}
public class StepBuilder : IInitialize,
IStep1,
IStep2,
IStep3,
IEnd
{
public IStep1 Initialize()
{
return this;
}
public IStep2 LoadStuff()
{
return this; ;
}
public IStep3 Validate()
{
return this;
}
public IEnd End()
{
return this;
}
public bool Save()
{
return true;
}
}
public class Step
{
public string Name { get; set; }
public string Category { get; set; }
public decimal Price { get; set; }
}
public interface IInitialize
{
IStep1 Initialize();
}
public interface IStep1
{
IStep2 LoadStuff();
}
public interface IStep2
{
IStep3 Validate ();
}
public interface IStep3
{
IEnd End();
}
public interface IEnd
{
bool Save();
}
}
プログレッシブな流暢なインターフェースを構築するための提案や良いリンクはありますか?