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

手机网站设计与实现是什么北京模板网站建设费用

手机网站设计与实现是什么,北京模板网站建设费用,目前较好的crm系统,做双语网站用什么cms系统好题目#xff1a;假设你正在开发一个简单的新闻发布系统#xff0c;该系统允许用户订阅不同的新闻频道#xff0c;并在有新闻发布时向订阅者发送通知。使用观察者模式设计和实现该系统。观察者模式的相关概念和定义#xff1a; 观察者模式是一种行为设计模式#xff0c;它定…题目假设你正在开发一个简单的新闻发布系统该系统允许用户订阅不同的新闻频道并在有新闻发布时向订阅者发送通知。使用观察者模式设计和实现该系统。观察者模式的相关概念和定义 观察者模式是一种行为设计模式它定义了对象之间的一对多依赖关系以便当一个对象的状态发生变化时可以自动通知其他相关对象。在这种模式中存在两种角色主题Subject也称为被观察者或发布者在观察者模式中起通知的作用。主题维护着一组观察者并提供注册、注销和通知的方法。观察者Observer也称为订阅者或监听器观察者通过注册到主题来接收通知并进行相应的处理。当主题的状态发生变化时观察者将根据接收到的通知执行相应的操作。观察者模式的基本思想是主题与观察者之间是松耦合的关系使得它们可以独立地变化而不会互相影响。主题只需要维护观察者列表并通知它们即可无需了解观察者具体的实现细节。在上述的新闻发布系统中主题可以是一个新闻频道观察者可以是用户订阅该频道的用户。当有新闻发布时主题将通知所有相关观察者并将新闻内容传递给它们。观察者接收到通知后可以根据需要进行相应的处理比如显示通知、发送邮件等。通过观察者模式我们可以实现松耦合的系统设计使得主题和观察者可以独立地扩展和修改从而提高代码的可维护性和可扩展性。同时观察者模式也符合开闭原则因为我们可以动态地添加或删除观察者而无需修改主题的代码。参考代码 class Program {static void Main(string[] args){NewsChannel channel new NewsChannel();// 创建观察者对象IObserver subscriber1 new Subscriber(订阅者1);IObserver subscriber2 new Subscriber(订阅者2);IObserver subscriber3 new Subscriber(订阅者3);// 注册观察者channel.RegisterObserver(subscriber1);channel.RegisterObserver(subscriber2);channel.RegisterObserver(subscriber3);// 发布新闻channel.PublishNews(今日头条天气晴朗);Console.WriteLine();// 取消订阅观察者channel.UnregisterObserver(subscriber2);// 发布新闻channel.PublishNews(特别新闻重要通知);} }public interface ISubject {void RegisterObserver(IObserver observer);void UnregisterObserver(IObserver observer);void NotifyObservers(string news); }public interface IObserver {void Update(string news); }public class NewsChannel : ISubject {private ListIObserver _observers;private string lastNews;public NewsChannel(){_observers new ListIObserver();}public void NotifyObservers(string news){foreach (var observer in _observers){observer.Update(news);}}public void RegisterObserver(IObserver observer){_observers.Add(observer);}public void UnregisterObserver(IObserver observer){_observers.Remove(observer);}public void PublishNews(string news){lastNews news;Console.WriteLine(新闻发布 news);NotifyObservers(news);}}public class Subscriber : IObserver {private string _name;public Subscriber(string name ) {_name name;}public void Update(string news){Console.WriteLine(_name 收到新闻 news);}}
http://www.eeditor.cn/news/125004/

相关文章:

  • 网站开发实例教程实训心得免费网址注册平台
  • 织梦做的网站打包在dw修改广告设计专业出来做什么
  • 天猫商城网站风格新媒体短视频推广
  • 宁德市建设局网站济南网站建设咨 询小七
  • 门户网站的建设方式有哪些linux做ppt下载网站
  • 做一个自己网站的步骤做seo哪些网站会好点
  • dede网站名称更改不了建设银行贷款官方网站
  • 中交建设集团 网站住房和城乡建设部招聘
  • 个人可以做商城网站吗上海企业网站制作报价
  • 郑州网站创建广告联盟平台
  • 做教育的有哪些网站百度推广做网站吗
  • 徐州哪家做网站好短视频运营计划书
  • 中国住房和城乡建设部网站安全怎么打开wordpress
  • 南京做中英文网站设计wordpress建社群
  • 临海制作网站公司如手机网站源码
  • 怎么做免费网站如何让百度收录wordpress 重写 函数
  • 网站建设需要什么手续江门关键词优化排名
  • 网站广告基本防护怎么做微淘客网站建设
  • 导航网站系统网站二维码链接怎么做的
  • 教育网站制作视频flash网页设计
  • 建网站做淘宝客可以吗wordpress关闭订阅
  • 响应式网页设计网站建设2003年北京网站建设
  • 网站app生成器下载桂林北站到阳朔怎么坐车
  • 线上网站开发系统流程没有网站怎么做cpa赚钱
  • 朔州怀仁网站建设食品包装设计特点
  • 闸北区网站制作免费做代理的网站
  • 网站运营管理的内容有哪些网站内部链接优化
  • 公司网站没有备案是不是违法的建网站买什么主机
  • 网站建设哪个比较好为什么石家庄突然封了
  • 免费的网站开发软件怎么做网站可以注册的