欢迎来到飞鸟慕鱼博客,开始您的技术之旅!
当前位置: 首页知识笔记正文

六 观察者模式

终极管理员 知识笔记 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());

可以方便把观察者(Question)和被观察者 Operator  组合起来,实现我们更新答案的功能!

   

标签:
声明:无特别说明,转载请标明本文来源!