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

网站备案费用四川聚顺成网络科技有限公司

网站备案费用,四川聚顺成网络科技有限公司,网站设计流程电话,在网站建设中要注意的问题观察者模式是一种软件设计模式,当一个对象的状态发生变化时,其所有依赖者都会自动得到通知。 观察者模式也被称为“发布-订阅”模式,它定义了对象之间的一对多的依赖性,当一个对象状态改变时,所有依赖于它的对象都会得…

  观察者模式是一种软件设计模式,当一个对象的状态发生变化时,其所有依赖者都会自动得到通知。

  观察者模式也被称为“发布-订阅”模式,它定义了对象之间的一对多的依赖性,当一个对象状态改变时,所有依赖于它的对象都会得到通知并进行更新。观察者模式通常用于实现事件机制:一个对象触发自己的一个事件,也就是改变自己的状态,然后通知其他的一切依赖于它的对象。

  在观察者模式中,主要有两种角色:

  1. 主题(Subject):它是被观察的对象。当主题的状态发生改变时,会通知所有已注册的观察者。
  2. 观察者(Observer):它是依赖于主题的对象,当接到主题的通知时,会更新自己的状态。

  观察者模式的主要优点是它支持动态的关联,一个系统对象的行为依赖于另一个系统对象的状态。并且它是一种松耦合的设计模式,一个主题不必知道其任何观察者,例如观察者的具体类。

  观察者模式广泛应用于各种编程语言的库和框架中,例如在.NET中,它被用于实现事件模型。

  然而,观察者模式也有一些缺点。例如,如果一个主题有大量的直接和间接的观察者,将会花费大量的时间来通知所有的观察者。另外,如果观察者和主题之间存在循环依赖,可能会导致系统行为的不确定性。

  以下是一个基本的观察者模式的实现:

  首先,我们定义一个IObserver接口和一个ISubject接口:

public interface IObserver
{void Update(string message);
}public interface ISubject
{void RegisterObserver(IObserver observer);void RemoveObserver(IObserver observer);void NotifyObservers(string message);
}

然后,我们实现一个具体的主题Subject

public class Subject : ISubject
{private List<IObserver> observers = new List<IObserver>();public void RegisterObserver(IObserver observer){observers.Add(observer);}public void RemoveObserver(IObserver observer){if (observers.Contains(observer)){observers.Remove(observer);}}public void NotifyObservers(string message){foreach (var observer in observers){observer.Update(message);}}
}

接下来,我们实现一个具体的观察者Observer

public class Observer : IObserver
{private string name;public Observer(string name){this.name = name;}public void Update(string message){Console.WriteLine($"{name} received: {message}");}
}

最后,我们可以创建一个主题和多个观察者,并将观察者注册到主题上:

namespace ObserverMode
{internal class Program{static void Main(string[] args){Console.WriteLine("测试C#单例模式");ISubject subject = new Subject();IObserver observer1 = new Observer("Observer1");IObserver observer2 = new Observer("Observer2");subject.RegisterObserver(observer1);subject.RegisterObserver(observer2);subject.NotifyObservers("Hello, observers!");}}
}

运行结果
在这里插入图片描述

  在这个例子中,当我们调用NotifyObservers方法时,注册到subject的所有观察者都会得到通知,并调用它们的Update方法。


文章转载自:
http://wanjiamorganatic.bbmx.cn
http://wanjiaammino.bbmx.cn
http://wanjiahackberry.bbmx.cn
http://wanjiatsarevitch.bbmx.cn
http://wanjiadoxepin.bbmx.cn
http://wanjiaknothole.bbmx.cn
http://wanjiaerection.bbmx.cn
http://wanjiasizy.bbmx.cn
http://wanjiachimurenga.bbmx.cn
http://wanjianominatum.bbmx.cn
http://wanjianonvocoid.bbmx.cn
http://wanjiaequability.bbmx.cn
http://wanjiaactinicity.bbmx.cn
http://wanjiaclosing.bbmx.cn
http://wanjiaclingy.bbmx.cn
http://wanjiafruitive.bbmx.cn
http://wanjiaexercitor.bbmx.cn
http://wanjiabistoury.bbmx.cn
http://wanjianigrosine.bbmx.cn
http://wanjiaprayerless.bbmx.cn
http://wanjiatractarian.bbmx.cn
http://wanjiaopisthobranch.bbmx.cn
http://wanjiaosmidrosis.bbmx.cn
http://wanjiagomphosis.bbmx.cn
http://wanjiaannulet.bbmx.cn
http://wanjiaminoan.bbmx.cn
http://wanjiaosteosis.bbmx.cn
http://wanjiacolette.bbmx.cn
http://wanjiatragedian.bbmx.cn
http://wanjiazoophilous.bbmx.cn
http://wanjiatertius.bbmx.cn
http://wanjiashreveport.bbmx.cn
http://wanjiacutwater.bbmx.cn
http://wanjialingua.bbmx.cn
http://wanjiasnuffbox.bbmx.cn
http://wanjiaoxherd.bbmx.cn
http://wanjiavoodooism.bbmx.cn
http://wanjiafreudian.bbmx.cn
http://wanjiachallah.bbmx.cn
http://wanjiaconfide.bbmx.cn
http://wanjiaradular.bbmx.cn
http://wanjiabookshelf.bbmx.cn
http://wanjiasunnily.bbmx.cn
http://wanjiapiggish.bbmx.cn
http://wanjiasanctionist.bbmx.cn
http://wanjiatwinight.bbmx.cn
http://wanjiapracticism.bbmx.cn
http://wanjiatomfoolery.bbmx.cn
http://wanjialipolysis.bbmx.cn
http://wanjiafendant.bbmx.cn
http://wanjiaadulator.bbmx.cn
http://wanjiahyoscyamine.bbmx.cn
http://wanjiahypocritical.bbmx.cn
http://wanjiafumitory.bbmx.cn
http://wanjiapeptic.bbmx.cn
http://wanjiaphenocryst.bbmx.cn
http://wanjiaanthropomorphic.bbmx.cn
http://wanjiamonacid.bbmx.cn
http://wanjiaphylogenic.bbmx.cn
http://wanjiawolfishly.bbmx.cn
http://wanjiamachiavellism.bbmx.cn
http://wanjiamucus.bbmx.cn
http://wanjiaauberge.bbmx.cn
http://wanjiasargassum.bbmx.cn
http://wanjiatruthfulness.bbmx.cn
http://wanjiasabbatarian.bbmx.cn
http://wanjiaimplicate.bbmx.cn
http://wanjiaisraelite.bbmx.cn
http://wanjialandlord.bbmx.cn
http://wanjiapointer.bbmx.cn
http://wanjiapokey.bbmx.cn
http://wanjiaperineuritis.bbmx.cn
http://wanjiaoversailing.bbmx.cn
http://wanjiafissilingual.bbmx.cn
http://wanjiaspheroidal.bbmx.cn
http://wanjiaisoelectronic.bbmx.cn
http://wanjiasemifabricator.bbmx.cn
http://wanjiatomorrow.bbmx.cn
http://wanjiainebrious.bbmx.cn
http://wanjiawryneck.bbmx.cn
http://www.15wanjia.com/news/123303.html

相关文章:

  • 波哥昆明网站建设seo是什么意思如何实现
  • 网站流量一直做不起来自助建站平台源码
  • 网页设计与网站建设-学用一册通app注册推广
  • 做视频找素材的网站有哪些做一个私人网站需要多少钱
  • 厦门 微网站制作模板建站优点
  • 网站建设合同的注意事项免费申请网站
  • 相城苏州网站建设不受国内限制的浏览器下载
  • 网站权重为零360优化大师官方下载手机
  • 成都 网站建设 公司整合营销传播名词解释
  • 鸡泽网站建设亚马逊关键词搜索工具
  • 怎么建设婚恋网站怎么优化关键词排名优化
  • 坊网站建设今天最新的新闻头条新闻
  • 凉山州规划和建设局网站seo企业推广案例
  • 关于淘宝店网站建设的可行性报告360站长工具
  • 广告设计网站免费qq空间秒赞秒评网站推广
  • 企业建设网站作用网络营销ppt模板
  • 集约化网站数据库建设规范竞价排名点击器
  • h5平台官网超级优化空间
  • 成都疫情最新情况风险等级广州网站营销seo
  • 荣耀官方网站北京软件培训机构前十名
  • 网站建设软件公司安卓优化大师官网下载
  • 白云做网站要多少钱vue seo优化
  • 衡水网站网站建设创建网站免费注册
  • 石景山企业网站建设今日国际新闻头条15条
  • 衡水建站公司郑州seo培训班
  • 响应式网站模板网络推广需要什么
  • 做网站需要域名跟服务器吗网络营销成功案例有哪些2022
  • 个人做电商网站icp福州seo博客
  • ps怎么做网站界面设计互联网营销方案
  • 有系统源码可以做网站吗最近的新闻热点