من میخوام یک برنامه بنویسم که به صورت دینامیک اپراتورهای ریاضی رو پشتیبانی کنه. برای این کار من یک اینترفیس Operator تعریف کردم که متد calculate رو معرفی کرده حال برای اپراتورها من 4 کلاس پیاده سازی کردم و فایل .class (کامپایل شده) اونها رو داخل یک فولدر گذاشتم حالا چطوری میتونم از بین این فایل های کامپایل شده با توجه به اوپراتور ورودی ام کلاس درست رو انتخاب کنم؟برای توضیحات بیشتر باید اینگونه عرض کنم
قبلا برنامه من جوری کار میکرد که برای تشخیص نوع عملگرها از Map استفاده کرده بودم به اینصورت :
private static Map<String,Operator> operatorMap = new HashMap<String,Operator>();
static
{
operatorMap.put("+", new Plus());
operatorMap.put("-", new Minus());
operatorMap.put("*", new Multiply());
operatorMap.put("/", new Divide());
}
حال برای دسترسی به کلاس مناسب از دستور زیر استفاده کردم:
output = operatorMap.get(elementInExpression[2]).calculate(firstNumber,secondNumber);
الان من باید برنامه رو به صورتی که گفتم تغییر بدم یعنی هر 4 کلاس کامپایل شده رو در یک فولدر قرار بدم و با توجه به عملگر ورودی کلاس درست رو انتخاب کنم.