我在理解我將如何設計班級方面有點麻煩。C#+班級設計
我希望能夠在自定義字段旁邊獲得n個系統字段。
我想在接口上的簡單方法叫:
我Collection<Field> GetFieldDefinitions();
內部這應該讓我需要在報表中顯示的所有字段。
的第二種方法將返回字段和它們的值也:
ICollection<Field> GetFieldDefinitionsWithValues(T src);
T是其中對於每個字段中的信息將來自例如填充源如果我傳入公司,字段定義是否包含公司名稱,我將在公司表上進行查詢並檢索信息並將其添加到字段中。
public Class SystemFieldCompany
{
IDictionary<string,Field> list;
private readonly ValidationEngine _val;
public SystemFieldCompany(ValidationEngine val)
{
_val = val;
list = new Dictionary<string,Field>();
}
public ICollection<Field> GetFields()
{
list.add("id",new Field{name = "id", value = "5"});
list.add("nameofcompany",new Field{name = "nameofcompany", value = "super guys"});
return list.Values;
}
//pass in model object with values on it, set up fields, then pass back all fields
ICollection<Field> GetFieldsWithValues(T object);
}
上面這個類應該是一個具體類嗎? 例如var fields = new FieldClass()。GetFields();
還是應該使用組合?我怎樣才能通過一個接口來做到這一點?
。關於最佳做事方式的問題通常不會在沒有儘可能多的關於情況的信息的情況下真正負責 – Grizzly
@Grizzly:我已經重新寫過,希望這樣更好? – Haroon