На этот раз я создам математические задачи.Я планирую иметь словарь, в котором ключом является Levels enum {Easy, Medium, Hard}, а значение должно содержать некоторую конфигурацию о том, как создавать проблемы.
Например:
BinaryProblemConfiguration
+ Bound1 : Bound<int>
+ Bound2 : Bound<int>
У Bound есть два свойства: min и max.
Для других типов задач Bounds не нужны, но нужны другие данные.
Итак, я подумал создать интерфейс под названием IConfiguration.
public interface IConfiguration {}
И конкретные конфигурации должны быть:
public class BinaryProblemConfiguration : IConfiguration
{
public Bound Bound1 {get;set;}
public Bound Bound2 {get;set;}
}
public class AnotherProblemConfiguration : IConfiguration
{
// other stuff
}
Идея состоит в том, чтобы иметь словарь с именем ConfigurationLevels,Является ли это хорошей практикой, оставляя интерфейс пустым, или это означает, что мой дизайн не так?