当前位置: 首页 > news >正文

青岛网站建设的流程有哪些做有网被视频网站有哪些

青岛网站建设的流程有哪些,做有网被视频网站有哪些,微信扫二维码网页空白,传媒公司排名1.观察者模式是什么呢#xff1f; 观察者模式#xff08;有时又被称为发布-订阅Subscribe模式、模型-视图View模式、源-收听者Listener模式或从属者模式#xff09;是软件设计模式的一种。在此种模式中#xff0c;一个目标物件管理所有相依于它的观察者物件 观察者模式有时又被称为发布-订阅Subscribe模式、模型-视图View模式、源-收听者Listener模式或从属者模式是软件设计模式的一种。在此种模式中一个目标物件管理所有相依于它的观察者物件并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。 个人理解观察者模式是一种思想不需要人为的去关注观察者和被观察者之间是怎样联系的实现了解耦只需要对象去注册被观察者Observerable与观察者(Observer)然后被观察者去添加一个或者多个观察者当被观察者发生变动就会立即通知所有的观察者。 下面我们来列举一个小例子 比如猫来了所有的老鼠都会跑并会说XXX猫来了快跑我是XXX老鼠。 第一步创建一个猫类 public class Cat //通知者 { public string Name{set;get;} //猫的名字 ListRat listnew ListRat(); //存储老鼠的集合 //增加老鼠的方法     public void Add(Rat rat)       {             list.Add(rat);         } //删除老鼠的方法        public void Remove(Rat rat)      {             list.Remove(rat);      } public Cat(){}public Cat(string name){thisNamename;}//定义一个猫叫的方法public void Shout(){Console.WriteLine(喵喵喵);//判断当集合不为空时if(list!null){foreach(Rat item in list){itemRun();}}}}第二步创建一个老鼠类 public class Rat { public string Name{ set; get;} //老鼠的名字 public Cat MyCat { set; get;}//数据类型是一个猫的变量 public Rat() { } public Rat(string name,Cat cat) { this.Namename; this.MyCatcat; } //定义一个老鼠跑的方法 public void Run() { Console.WriteLine(MyCat.Name猫来了快跑我是Name鼠); } } 第三步创建一个测试类 class Program{static void Main(string[] args){//先创建出一只猫Cat catnew Cat(Tom);//创建出第一只老鼠Rat rat1new Rat(Jim,cat);Rat rat2new Rat(TaoQi,cat);//把老鼠添加到集合中cat.Add(rat1);cat.Add(rat2);//调用猫叫的方法cat.Shout();Console.RadeKey();}} 运行结果 这只是当有一个种类的观察者时当我们有多个类的时候比如鸟狗等等我们就需要创建一个接口出来创建它的实现类。 这个时候就需要我们把有共同行为的提炼到接口内 //1.创建一个接口 public interface IRunable //跑{void Run();} //2.创建一个抽象的Pet类 public abstract class Pet{public abstract void Shout(); //抽象叫的方法ListIRunable listnew ListIRunable();public void Add(IRunable irunable){list.Add(irunable);}public void Remove(IRunable irunable){list.Remove(irunable);}} //3.创建一个猫类的通知者 public class Cat:Pet {public string Name{ set; get;} //猫的名字public Cat(){}public Cat(string name){this.Namename;}public override void Shout(){ConsoleWriteLine(喵喵喵);if(list!null){ foreach(IRunable item in list){item.Run()}}} } //4.创建一个老鼠类的观察者 public class Rat:IRunable{public string Name{ set; get;} //老鼠的名字public Cat MyCat{ set; get;} public Rat(){}public Rat(string name,Cat cat){this.Namename;this.MyCatcat;}public void Run(){Console.WriteLine(MyCat.Name猫来了快跑我是老鼠Name);}} //创建一个鸟类的观察者 public calss Bird:IRunable{public string Name{ set; get;} //鸟的名字public Cat MyCat{ set; get;} public Bird(){}public Bird(string name,Cat cat){this.Namename;this.MyCatcat;}public void Run(){Console.WriteLine(MyCat.Name猫来了快跑我是小鸟Name);}} //6.创建测试类 class Program{static void Main(string[] args){//创建一只猫通知者Cat catnew Cat(Tom);//创建一只老鼠的观察者Rat ratnew Rat(Jim,cat);//创建一只小鸟的观察者Bird birdnew Bird(DiDi,cat);//把观察者添加到集合中cat.Add(rat);cat.Add(bird);cat.Shout();Console.RaedKey();} 运行结果 观察者模式的特点 1.一个主题可以有任意数量依赖他的观察者,一旦主题的状态发生改变,所有观察者都可以得到通知 2.主题发出通知不需要知道具体观察者 3.具体观察者也不需要知道其他观察者的存在 但是 将一个系统分割成一系列相互作用的类有一个很不好的副作用,就是需要维护相关对象间的一致性, 使得各个类紧密耦合,这样会给维护,扩展和重用都带来不便。 应用时机: 当一个对象的改变需要同时改变其他对象的时候使用观察模式 不知道具体有多少对象有待改变时,应考虑使用观察者模式 一个抽象模型有两个方面,其中一个方面依赖于另一个方面
http://www.yutouwan.com/news/171924/

相关文章:

  • 旅游电子商务网站排名室内设计效果图手绘图片大全
  • 南通网站建设机构最炫的网站
  • 旅行社网站的建设开题报告牡丹江建设工程信息网站
  • 做百度移动端网站排名软件怎么写软文推广
  • 阿里网站建设工具大连工商网站查询企业信息
  • 门户网站运营是什么注册安全工程师难吗
  • 企业网站宽度给多少网站建设管理教程视频教程
  • 网站推广的技巧和方法wordpress转载文章
  • 网站集约化建设实施方案三台县城乡建设网网站
  • 网站建设主要包括哪两个方面优化关键词的作用
  • 建设银行四川分行网站福鼎整站优化
  • 安徽省教育局网站建设方案网页图片设置
  • 网站建设论文1000字淘宝网手机版
  • 宣城公司做网站做网站的 深圳
  • 中国建设银行网站主要功能wordpress delete tag
  • cms网站建设技术最准确的汽车报价网
  • 网站建设文化流程图杭州动漫设计公司有哪些
  • 企业免费网站建设模板下载艺术培训网站模板
  • 免费浏览的网站入口建e网全屋设计效果图
  • 常州网络推广网站科技小论文怎么写
  • 什么网站教你做美食岳阳seo外包
  • 便宜点的网站建设互联网营销公司排名
  • 网站备案就是合法的怎么用ppt做网站
  • 九曲网站建设设计一个电子商务网站建设方案
  • html5期末大作业个人网站制作国际婚恋网站做翻译合法吗
  • 零基础学习网站建设wordpress改中文
  • 网站分页设计作用wordpress搭建it博客
  • 自己做网站要买什么深圳网站营销型建设
  • 做网站开发语言黑龙江门户网站建设
  • 公司建立网站的费用如何做帐电商是干什么的是什么意思