public interface IPlugin
{
void Execute();
}
public class FirstPlugin : IPlugin
{
public string SomeSetting1 { get; set; }
public void Execute() { }
}
public class SecondPlugin : IPlugin
{
public string SomeSettingA { get; set; }
public string SomeSettingB { get; set; }
public string SomeSettingC { get; set; }
public void Execute() { }
}
我有一个允许使用者选择一个或多个原始产品的制度。 在以上编码中,我有一个<代码>IPlugin接口,由许多班子实施。 每个班级都有自己的一套财产,每个用户可以对这些财产进行组合。
例如,用户A只选择了第一个“ABC”的价值。
用户B选择了两种微粒,但配置了第一个微粒,即“XYC”的价值。
public class User
{
public User(IPlugin[] plugins)
{
}
}
当我对用户进行问答时,我希望得到一份用户配置的原始数据清单,这些原始数据应与用户配置的相联。
然而,Im在如何设计数据库以便能够以这种格式储存信息方面打上空白。 我可以有一个表:
User | Plugin
----------------
A | ...
B | ...
B | ...
......如果原始一栏是我可以重新注入的原始金星的序号。 然而,这似乎是一种可怕/反感。 是否有更好的办法这样做?