Я пытаюсь спроектировать для следующего сценария, но не могу обойти его.
У меня есть записи в таблице базы данных, которые представляют задачу, которую приложение должно выполнить.Каждая запись сопоставляется с определенной функцией C #.Поэтому добавление строки в таблицу требует перестройки приложения путем создания для него конкретной задачи.
До сих пор я добавлял базовый класс и создавал новый класс каждый раз, когда необходимо добавить новую функциональность.
Базовый класс:
public abstract class TaskBase<br>
{ public abstract void DoWork (); }
public sealed class Task001: TaskBase<br>
{ public override void DoWork () { /* Record-specific code */ } }
public sealed class Task002: TaskBase<br>
{ public override void DoWork () { /* Record-specific code */ } }
Трудно объяснить, почему это нужно сделать, поэтому я не пойду туда,Хотя я уверен, что есть лучший способ достичь этого с точки зрения дизайна и практичности.Какие-либо предложения?Я использую C #, и отражательные возможности .NET действительно помогают здесь.