六 观察者模式
终极管理员 知识笔记 34阅读
其他模式:1。战略模式2。模板法模式三。桥接模式。4.访客模式5。行动模式6。观察者模式设计模式。我还没有完成它。我今天有点空。我们继续写吧。看看今天的观察模式。最近在帮公司做一个考试系统。我们知道,考试有单项选择,多项选择,填空等等。如果你把它们看成一个对象,这个对象上会有很多操作?codepubliclassquestionbase { public abstract rgba(0,0,255,1)' string update();} public classsingleselect : question base { public overridestringuupdate(){ return ' single select '} } publicclasssmultiselect : question base { publiccoverridestringuupdate(){ return ' multiselect '} }公共分类
ss Blank : QuestionBase{
public override string Update()
{
return "blank";
}
}

我们可以把它视为被观察者,即为被观察的对象。这里,我只列举了Update操作。
然后,我们观察者,既发出操作的对象。

Code
我们也用抽象类来隔离。这样。观察者(Question)和被观察者(Operator)之间分离,降低耦合。
现在的情景是,当我提交答案胡时候,
UpdateOperator update = new UpdateOperator();
update.Add(new SingleSelect());
update.Add(new MultiSelect());
update.Add(new Blank());
update.Add(new SingleSelect());
update.Add(new MultiSelect());
update.Add(new Blank());
可以方便把观察者(Question)和被观察者 Operator 组合起来,实现我们更新答案的功能!
标签: