テンプレートからドキュメントを生成するクラスのグループがあるとします。たとえば...C#のインターフェイスよりも緩い方法でテンプレートを定義する方法
class CustomerInvoice
{
public satic string TemplatePath
{
get { return @"C:\Templates\InvoiceTemplate.doc"; }
}
public static DocumentType DocumentType
{
get { return DocumentType.WordDocument; }
}
public static void Create(Customer customer, int orderNumber)
{
//...
}
}
これらのクラスのすべてが名同じ方法を共有するが、必ずしもそうではない方法署名。
例えば、私は
CustomerInvoice.Create(Customer customer, int orderNumber);
DespatchNote.Create(Customer customer, int orderNumber, Warehouse warehouse);
PackingLabel.Create(int orderNumber);
...または任意の(賢明な例を考え出すのに苦労し)必要がある場合があります。
OOには、このようにしてクラスのグループが持つメソッド名を指定するメカニズムがありますか?私は、一貫した実装と同様のオブジェクトのグループの命名を実施する方法を持っていることを本当に考えているので、消費者にとってより直感的です。このようなケースは、そのようなテクニックの有効で価値のある使用とみなされますか?
特定のルールについては、リフレクションチェックを使用できます。しかし、可能であれば、私はジェネリックスベースのソリューションMarcが提案した – CodesInChaos