.NET简谈观察者“.NET研究”模式

  观察者模式想必搞程序开发的都听说过,今天我也来简单的总结一下本人在程序开发过程中是怎么使用观察者模式的;希望给大家带来点新的想法,如果哪位高手看到了也不要嘲笑啊;呵呵,追求技术的人,始终都是为了技术而学技术,目的只有一个,一起追求技术的最高境界。

上海企业网站制作>  观察者模式是设计模式里经常被用到的一种,什么叫观察者模式,字面理解就是一个或多个对象观察某个对象,这种观察是有目的的,当被观察者发生某种事件时,能准确的反馈到外界,通知大家你发上海闵行企业网站制作生了什么;尤其是在今天面向对象编程的不断成熟,什么都讲究抽象,将重复劳动省到最少,方法成员都以类为容器封装;这是一种好的编程规则,就好比我们所上海企业网站设计与制作生存的大自然坏境一样,汽车与人都是独立的生存个体,大家互不干扰,我不需要知道我存在的意义,存在的意义是对别人而言。

  进入主题,上面刚才讲到了汽车与人,打个比方上海闵行企业网站设计与制作当我们乘坐公交车的时候,我并不认识路,我需要车到的时候通知乘客你到了哪个站,我们好下车;在我们做开发的时候经常会遇到这种情况,我要某个按钮被鼠标点击了之后弹出一个文本框出来,等等;继续汽车与人的比方,当汽车到站后通过什么方式通知大家你到某某站了呢,这就涉及到汽车这么一个实体是否具有到站事件,如果没有可能他永远都不会听,请看图一:

  图上是一个汽车和四个乘客实体图,当汽车到达某个站的时候应该告诉乘客到了哪个站了,让乘客判断一下是否是自己要下的站,请看图二:

  图上是汽车到了站点1时通知乘客,并将到站的信息传递给乘客让乘客判断是否下车,如果某乘客要下车可以通知驾驶员我要下车,请看图三:

  乘客判断消息是否是自己要下的站,如果是发出消息给汽车驾驶员,我们这里把驾驶员和汽车当成一体的,由汽车为统称;汽车接收到乘客的下车信息后打开车门让乘客下车;我们只要把图的信息落实到代码上就OK了,请看代码图:

时间: 2024-09-29 10:46:13

.NET简谈观察者“.NET研究”模式的相关文章

.NET简谈构件系统开发模式

在本人的".NET简谈插件系统开发模式"一文中我们详细介绍了插件系统开发模式的优越性,尽管.NET平台或者第三方提供的平台都为我们实现了底层插件原理模型,我们可以在上面进行开发,作为一名有求知欲的程序员才是一名合格的程序员:我们不能满足系统为我们提供的功能,我们要向下沉,沉的越深越好,躲开那些应用变化给我们带来的劳累感,所以我们是否需要掌握一些别人不会的技术,才能让我们在众多的程序员中脱颖而出呢:[王清培版权所有,转载请给出署名] 我们今天来探讨"构件"系统开发模式

.NET简谈设计模式之(工厂模式)

文章开头本人申明一点,本人写的文章力求让看的人能理解精髓而不是专业化,博客园的好多人在写文章的时候总想着怎么怎么专业化,巴不得看的人都看不懂才能体现出他的技术,他的牛B,技术不是用来显威风用的,在你掌握了某种技术的时候,不要想着横扫博客园之类的思想,有点技术就开始浮躁连说话都开始像李莲英:我不是想这样攻击别人,在技术的这条路上大家能平易近人互相学习,以交流技术为主,不要想着看别人的文章就是在挑刺,想法设法打击别人的信心,人无完人,人外有人,山外有山,各有所长,大家互补才能真正使我们国家的软件实力

.NET简谈设计模式之(策略模式)

策略模式在我们日常开发中经常被用到,这篇文章不是策略模式的深入讨论和学术研究,只是让初学者能有个基本的了解. 什么叫策略:1. 可以实现目标的方案集合:2. 根据形势发展而制定的行动方针和斗争方法:3. 有斗争艺术,能注意方式方法. 什么叫模式:模式(Pattern)其实就是解决某一类问题的方法论.把解决某类问题的方法总结归纳到理论高度,那就是模式.模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果.而且会得到解决问题的最佳办法. 什么叫策略

.NET简谈设计模式之(命令模式)

我们继续学习设计模式系列文章. 本篇要讲的是命令模式,其实命令模式也比较好理解,没有用到多高深的技术,也不需要多复杂的抽象.只需要我们脑海里能有一个大概的原型,等我们遇见类似问题的时候我们能通过巧妙的方式来解决.我们做应用层开发的大部分接触的都是一些模式.框架.思想等等,不像搞低层开发的,他们研究的可能多数是一些技术实现的问题,而我们是学习实现的方法论.应用层开发在技术的复杂程度上是有限的,在组合技术的实现上是复杂的.所以有一些.NET架构师确实比较厉害,他们能很早的就料到会出现什么问题,他们有

.NET简谈设计模式之(单件模式)

我们继续学习设计模式系列文章. 今天要讲的是单件模式,其实单件模式是比较简单的设计模式,在我们日常开发过程中也是经常用到的. 单件模式:单件模式是一种用于确保整个应用程序中只有一个类实例且这个实例所占资源在整个应用程序中是共享时的程序设计方法. 我想如果初学者对一些基本概念能熟练掌握时,其实单件模式是很简单的,就是因为初学者对一些概念还不是很理解,我们先来扫除这些阻挡我们理解的障碍. 大部分的初学者都会搞不清楚"静态对象"与"实例对象"的区别.当然谁都有一个过渡期,

.NET简谈插件系统开发模式

今天跟大家分享一下我们在日常开发中并不常用的开发模式"插件系统模式",什么叫插件从大一点的概念讲就是我们开发的软件是由很小的模块组成,每一块都能成功的装卸,使我们的软件成为一个有机体,在发生重大事故.改良优化等等的时候,我们不需要重新编译我们的系统就能很方便的进行升级替换进行使用:这样的开发模式就是插件系统开发模式:这个概念很大,每个人的技术水平不同使用的效果也是不同的:一个大型的系统,不能简简单单的用三层或者MVC来概括,我们要站在一个更高的角度去思考程序,每当我们开始一个新系统的架

.NET“.NET研究”简谈面向接口编程

过程式的开发方式已逐渐退出大众的眼线,随之而来的是各种各样的高抽象的开发模式:我们不得不承认在没有设计模式的时候,我们很难总结出有价值的开发模型,便于以后重复使用和推广:面向对象的流行,让我们开发人员重新站在一个高的起点来看待软件模型,抽象固然是好事,但是也给初学者带来了迷惑,将软件中的东西都想成很简单的封装,我们只需要调用就行,这样越来越多的开发人员开始慢慢的往上浮,有一定编程经验和感触的人,能够明白我所说的浮,也算上海闵行企业网站设计与制作是给初学者提个醒吧. 1: 2:  我们将计算机系

.NET简谈组件程序设计之(初识NetRemoting)

在本人的".NET简谈组件程序设计之(初识远程调用)  "一文中,我们了解到什么是远程调用或者说在.NET平台上远程调用是什么样子的,可能和偏低层(Socket\Rpc)的远程调用有点距离.这只是系统为我们封装了假象而已,看不见不代表没有这逻辑,是为我们减轻了劳动负担.[王清培版权所有,转载请给出署名] 这篇文章我们来简单的了解一下在.NET平台上有一个强有力的远程调用武器,也是上一篇文章中我一笔带过的远程英雄.NetRemoting. 其实在.NET平台里面到处都能看见Remotin

由项目浅谈JS中MVVM模式

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.    背景 最近项目原因使用了durandal.js和knockout.js,颇有受益.决定写一个比较浅显的总结. 之前一直在用SpringMVC框架写后台,前台是用JSP+JS+标签库,算是很传统的MVC开发模式了.后来,前端用Flex还有微软的WPF做过开发,到这次,前端使用纯JS+HTML,利用knockout.js,也算是接触了几种语言下的MVVM模式.