私はオープン ソース アプリケーションを構築しました。他の人が顧客固有の要求をどのように処理しているか知りたいです。アプリをシンプルに保つことは私にとって重要です。すべての人のためにすべてを作ろうとしているわけではありません。アプリは肥大化し、複雑になり、ほとんど使用できなくなる可能性があります。ただし、顧客固有のオプションがいくつかあります (すべての顧客に適用されるわけではありません)。例えば...
Server というドメイン エンティティがあるとします。UI では、顧客がサーバーのリストから選択できるようにします。ある企業では、場所 (米国、ドイツ、フランスなど) でサーバーをフィルター処理すると便利です。次のようなサーバー プロパティを追加するのは簡単です。
public class Server
{
public Location Location { get; set; }
// other properties here
}
私の懸念は、時間の経過とともにサーバーがプロパティで肥大化する可能性があることです。また、場所を追加しただけでも、すべての顧客がその物件を気にするわけではありません。
1 つのオプションは、ユーザー定義フィールドを許可することです。
public class Server
{
public string UserField1 { get; set; }
public string UserField2 { get; set; }
public string UserField3 { get; set; }
// etc...
// other properties here
}
それがこれを処理する最良の方法ですか?すべてを文字列にすることで型の安全性が失われるという事実は好きではありません。人々がこのような問題を処理している他の/より良い方法はありますか? このようなもののデザインパターンさえありますか?