c# 观察者模式 匿名方法与Lambda
//匿名方法 //和委托搭配使用 //方便我们快速对委托进行传参 //不需要我们去定义一个新的函数 //直接用delegate关键字代替方法名,后面跟上参数列表与方法体 //delegate(参数列表){方法体} //Sort(list, delegate (int a, int b) { return a > b; }); //lambda表达式 匿名方法的升级 //更加简写 //(参数列表)=>{ 方法体 } //当你的方法体只有一条语句的时候,可以不写return,甚至可以没有花括号 //参数列表的参数甚至可以不写数据类型 //如果说方法体里一旦出现了return,一定要加上花括号 Sort(list, (a, b) => a < b);
观测者模式
模型——视图
发布——订阅
源——收听者
一系列对象来监听另外一个对象的行为,被监听者一旦触发事件/发布消息,
则被所有监听者收到,然后执行自己的行为
就是使用委托/事件,让一系列对象把他们的行为来注册到我的委托中去,
什么时候执行这个委托,由我自身决定,外部不能干涉
(就相当于观察别人的行为作出对应的反应,例子:当有人打你的时候,你要还手,走进你的攻击范围你要打他,一旦触发了某些条件,作出对应的事情)
匿名方法
和委托搭配使用
方便我们快速对委托进行传参
不需要我们去定义一个新的函数
直接用delegate关键字代替方法名,后面跟上参数列表与方法体
delegate(参数列表){方法体}
lambda表达式 匿名方法的升级
更加简写
(参数列表)=>{ 方法体 }
当你的方法体只有一条语句的时候,可以不写return,甚至可以没有花括号
参数列表的参数甚至可以不写数据类型
如果说方法体里一旦出现了return,一定要加上花括号;