我已经构建了一个开源应用程序,我很想知道其他人如何处理客户特定的请求。让应用程序保持简单对我来说很重要;我并不是想为所有人创造一切。以这种方式,应用程序可能会变得臃肿、复杂并且几乎无法使用。但是,有一些特定于客户的选项会很好(它只是不适用于所有客户)。例如...
假设我们有一个名为 Server 的域实体。在 UI 中,我们让客户从服务器列表中进行选择。对于一家公司,按位置(美国、德国、法国等)过滤服务器会很有帮助。添加这样的服务器属性很容易:
public class Server
{
public Location Location { get; set; }
// other properties here
}
我担心的是,随着时间的推移,服务器可能会因属性而变得臃肿。即使我只添加位置,也不是所有客户都会关心该属性。
一种选择是允许用户定义的字段:
public class Server
{
public string UserField1 { get; set; }
public string UserField2 { get; set; }
public string UserField3 { get; set; }
// etc...
// other properties here
}
这是处理这个问题的最好方法吗?我不喜欢通过将所有内容都设为字符串来消除类型安全性的事实。人们是否有其他/更好的方式来处理此类问题?甚至有这样的设计模式吗?