У меня проблема с созданием архитектуры модульного анализа для приложения C #.
Цель:
Это в основном похоже на динамический калькулятор Plug and Play. Начните с одного входа (A), создайте несколько операций в GUI
например, A² (квадрат) -> B (умножить) A -> C (разделить на) B -> D
Нажав одну кнопку выполнения в GUI с одним входом A, как добраться до D?
В графическом интерфейсе один список с необходимыми входными данными в виде двойных значений и
другое окно списка загрузит тип определенного интерфейса, используя отражение, скажем, квадрат, умножение и т. д.
Затем пользователь создаст новый процесс, подключив существующие процессы и, скажем, входные данные.
с A в качестве входа -> квадрат -> дает B в качестве выхода -> используя A, B в качестве ввода -> умножить -> дает C в качестве вывода -> используя C / A -> дает вывод D
Во время создания конкретного процесса их вывод будет загружен динамически с помощью конструктора.
Пример задачи:
public interface IProcess
{
double ExecuteProcess()
}
Базовый класс процесса:
public abstract class Process
{
public double Output {get; set;}
}
Пример класса процесса:
public class Square : Process, IProcess
{
public double Input {get; set;}
public double ExecuteProcess()
}
Вопрос
Надеюсь, я правильно объяснил свою проблему. Я искал пример шаблона, но не смог найти тот, который решит эту проблему. Кто-нибудь может подсказать, как подойти к этой проблеме?