DCI机构模式实现很重要的一个特性就是同一个PPT在不同context中的Role混入。
若采用Scala可以很好的支持此特性。
C#是否也可以支持此特性吗?
答案当然是肯定的。那就是采用.net 4.0 dynamic
我们看下面这个例子
在家时候,老公和老婆是父母角色,具有洗菜做饭的职责。
在单位时候,老公是售前支持角色,对外宣讲公司产品,老婆是室内设计师,进行公司室内装修设计
void Main()
{
List<People> peoples = new List<People>()
{
new People(PeopleName.老婆.ToString()),new People(PeopleName.老公.ToString())
};
List<Role> roles = new List<Role>()
{
new Chef(),new Assitant(),new SaleSupporter(),new DrawDesigner()
};
Console.WriteLine("---------------在家场景---------------");
AtHomeContext home = new AtHomeContext();
home.Intial(peoples,roles);
home.AssignRole();
home.Cook("白菜");
Console.WriteLine("---------------上班场景---------------");
InOfficeContext office = new InOfficeContext();
office.Intial(peoples,roles);
office.AssignRole();
offic