我有一个这样的客户层次结构:
abstract class Customer {
public virtual string Name { get; set; }
}
class HighValueCustomer : Customer {
public virtual int MaxSpending { get; set; }
}
class SpecialCustomer : Customer {
public virtual string Award { get; set; }
}
当我检索客户时,我想在 Web 表单上显示要编辑/修改的属性。目前,我使用 if 语句来查找子客户类型并显示专门的属性。是否有设计模式(访问者?)或更好的方法,以便我可以避免表示层中的“if”语句?你怎么做呢?
更多信息:这是一个带有 nHibernate 后端的 asp.net 网站。每个客户类型在页面上都有自己的用户控件,我想根据客户类型自动加载。