私たちは少数の顧客向けにアプリを構築しています。それぞれに独自の要件と同様の要件があります。また、すべてのコードを分岐ではなく、同じアプリに保持したいと考えています。また、IF はさまざまな場所にあるため、適切な選択ではありません。
すべての基本クラスを用意する予定です。次に、各顧客は、オーバーライド メソッドが特別なロジックを実行する独自のクラスを持ちます。
これを行う代わりに、コンパイル時にアセンブリをロードするにはどうすればよいですか
public class BaseClass {
public string getEventId()
}
public class ClassForJohn:BaseClass {
[override]
public string getEventId()
}
public class ClassForAdam:BaseClass {
[override]
public string getEventId()
}
void UglyBranchingLogicSomewhere() {
BaseClass eventOject;
if("John"==ConfigurationManager.AppSettings["CustomerName"]){
eventOject = new ClassForJohn();
}else if("Adam"==ConfigurationManager.AppSettings["CustomerName"]){
eventOject = new ClassForAdam();
}else{
eventOject = new BaseClass ();
}
eventId = eventOject.getEventId();
}