私の同僚がプログラムロジックを制御するために 'マーカークラス'を使用していることがわかりました(下記の設計例を参照)。うまく動作しているようだ、とコードが本当にうまく読みますが、臭いそれについてだけで何か...マーカークラスを使用してロジックフローを制御する
namespace ConsoleApplication4983
{
public class MyClass
{
static void Main()
{
var c = new MyClass();
c.DoSomething(new Sequential());
c.DoSomething(new Random());
}
public void DoSomething(ProcessingMethod method)
{
if (method is Sequential)
{
// do something sequential
}
else if (method is Random)
{
// do something random
}
}
}
public class ProcessingMethod {}
public class Sequential : ProcessingMethod {}
public class Random : ProcessingMethod {}
}
は、同じ効果を達成するためのより良い方法だろう何がありますか?列挙型?属性?彼らはより多くの柔軟性を提供してインターフェース
+1これは良いアプローチです。 –