私はこのパターンを研究していて、メソッドを実行したいのですが、これらのパラメーター化されたコンストラクターは私には非常に複雑に見えるため、メソッドを呼び出す方法がわかりません。私がフォローしているコードは、2つのインターフェースと2つのクラスで構成されています。以下はサンプルコードです。「TestMethod()」の呼び出し方を教えてください。可能であれば、誰かが次の目標を達成するのを手伝ってくれるでしょう。
- 「TestMethod()」を呼び出します。
- このパターンとその重要性を説明してください。(単純さがより良い場合は、それらを単純化する方法を助けてください)。
- コンストラクターがパラメーター化される理由を説明します。(単純さがより良い場合は、それらを単純化する方法を助けてください)。
コンソールアプリケーション
class Program
{
private static IPropertyService _property;
public Program(IPropertyService property)
{
_property = property;
}
static void Main(string[] args)
{
Console.WriteLine("Enter something...");
_property.TestMethod(Console.ReadLine());
Console.ReadLine();
}
public interface IPropertyService
{
string TestMethod(string strParam);
}
private class PropertyService : IPropertyService
{
private readonly IPropertyRepository _propertyRepository;
public PropertyService(IPropertyRepository propertyRepository)
{
_propertyRepository = propertyRepository;
}
public string TestMethod(string strParam)
{
return _propertyRepository.TestMethod(strParam);
}
}
}
public interface IPropertyRepository
{
string TestMethod(string strParam);
}
public class PropertyRepository : IPropertyRepository
{
public string TestMethod(string strParam)
{
return string.Format("You have entered: {0}", strParam);
}
}