什么叫oo编程,oo是哪两个英语单词缩写,
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/10 17:37:28
什么叫oo编程,oo是哪两个英语单词缩写,
OO(Object-Oriented)
什么是OO?
就是面向接口编程.无论你是用vtable, 或gp的function object, 或就是C的函数指针,正交分解也好,各种pattern也罢,都是面向接口编程思想的一种实现.
为什么要面向接口编程?
为了解耦.
什么是解耦?
就是把程序中互相不相关或有限相关的模块分割开来.就象收拾屋子,你希望把不同的东西放到不同的地方.把酱油和醋倒进不同的瓶子里去.
这里,对完全不相关的功能,可以简单地分开实现.
但事实上,很多情况下,不同模块之间是有互相之间的关系的.这时,就需要接口.用接口准确定义模块之间的关系.解耦前,两个模块之间共享所有信息(这个信息包括数据,也包括各自的实现细节).解耦后,需要共享的信息被准确地定义在接口中.同时,信息的流向也被确定.
解耦的好处是什么呢?
首先,程序变得清晰了.
其次,不该暴露的实现细节被隐藏了.代码的修改变容易了.
再次,结构灵活了,通过静态多态(function object)或动态多态(vtable), 一个模块可以和任意实现接口的模块协作.原来类A只能与类B协作,解耦后可以和所有实现接口IB的类如B1, B2, ... 协作了.扩展性大大增强.自然而然就代码重用了.
编译依赖也没有了.你可以专心写和编译一个模块,不用等待其它模块的完成.
调试容易了.只要模块对一个接口调试成功,其它的接口也没有问题.于是,甚至可以用一个simple naive的实现该接口的dummy类来调试.(这点,使用template的gp不适用)
那么解耦的坏处是什么呢?
接口的定义变得很关键.解耦就是隐藏一些信息,定义一些需要共享的信息.如果接口定义的不好,隐藏了不该隐藏的信息,那么对某些需要这些信息的复杂情况来说,这个解耦就失败了.
而如果没有隐藏一些应该隐藏的信息,那么不该有的耦合仍然存在.
那么怎样解耦,又怎样定义接口呢?
这是一个纯粹业务逻辑的思考过程.这里,对编程语言的知识变得无关紧要.事实上,只要精确掌握需求,严密地分析需求和模块内部子模块之间的需求,任何一个会逻辑思考的人都可胜任这个工作.就象歌星郑智化一样,虽然不识谱,但一样写歌,只不过最后要懂谱的人把歌纪录下来.
解耦的原则很简单:精确定义需求,仔细分析需求.不要隐藏任何“需求”也许会需要的信息.不要放过任何“需求”明显不需要的信息.
而对需求不清楚的情况,宁可错放一千,不能错杀一个.总而言之,决不能隐藏可能需要的信息.
不考虑重用,重用是解耦后的自然结果.不能倒因为果!
http://www.5ivb.net/Info/55/Info15237/
RSS是2004年最热门的互联网词汇之一,不过,相对于博客(BLOG)来说,RSS的知名度相应会低很多,而且至今还没有一个非常贴切的中文词汇,也许以后无需中文名,大家都习惯于直接叫RSS了.RSS之所以同BLOG一样会被认为是热门词汇的一个原因,个人推测,应该是许多分析人士认识到RSS将要对互联网内容的浏览方法所产生的巨大影响.
什么是RSS呢?RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用.RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者.发布一个RSS文件后,这个RSS Feed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用.
如果从RSS阅读者的角度来看,完全不必考虑它到底是什么意思,只要简单地理解为一种方便的信息获取工具就可以了.RSS获取信息的模式与加入邮件列表(如电子杂志和新闻邮件)获取信息有一定的相似之处,也就是可以不必登录各个提供信息的网站而通过客户端浏览方式(称为“RSS阅读器”)或者在线RSS阅读方式这些内容.例如,通过一个RSS阅读器,可以同时浏览新浪新闻,也可以浏览搜狐或者百度的新闻(如果你采用了RSS订阅的话).
在许多新闻信息服务类网站,会看到这样的按钮 ,有的网站使用一个图标,有的同时使用两个,这就是典型的提供RSS订阅的标志,这个图标一般链接到订阅RSS信息源的URL.当然,即使不用这样的图标也是可以的,只要提供订阅RSS信息源的URL即可,如网上营销新观察提供的RSS订阅URL是:http://www.marketingman.net/rss.xml
使用RSS获取信息的前提是,先安装一个RSS阅读器,然后将提供RSS服务的网站加入到RSS阅读器的频道即可.大部分RSS阅读器本身也预设了部分RSS频道,如新浪新闻、百度新闻等.
RSS基础知识:
如何利用RSS阅读器订阅RSS新闻内容?如何免费下载RSS阅读器?
常用的RSS阅读器:周博通RSS阅读器 看天下网络资讯浏览器
【RSS实用知识】:关于RSS订阅与RSS阅读的常见问题解答(网上营销新观察 冯英健)
为了进一步了解RSS及其发展历程的有关背景知识,下面摘录了2003年10月平文胜为时代营销撰写的有关RSS的介绍文章.仅供参考.网上此类介绍文章也不少,有兴趣的请到网上检索更多信息.例如维基百科对于RSS的定义、RSS规范、RSS专用阅读器和RSS在线阅读器、中文RSS搜索引擎等等(http://zh.wikipedia.org/wiki/RSS)
RSS及其发展历程简介 (时代营销 平文胜 2003-10-10)
RSS是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用.RSS应用在国外已经非常普遍,从个人博客(Blog)栏目、企业站点到世界级的门户都提供基于RSS的服务,如IBM公司站点的中文新闻RSS http://www.ibm.com/news/cn/zh/index.rss ,YAHOO站点的http://news.yahoo.com/rss ,微软MSDN站点的http://msdn.microsoft.com/aboutmsdn/rss.asp 等等.
1、 RSS的历史
那么RSS究竟代表什么呢?比较普遍的有两种说法,一种是“Rich Site Summary”或“RDF Site Summary”,另一种是“Really Simple Syndication”,之所以有这些分歧,需要从RSS发展的历史说起.
最初的0.90版本RSS是由Netscape公司设计的,目的是用来建立一个整合了各主要新闻站点内容的门户,但是0.90版本的RSS规范过于复杂,而一个简化的RSS 0.91版本也随着Netscape公司对该项目的放弃而于2000年暂停.
不久,一家专门从事博客写作软件开发的公司UserLand接手了RSS 0.91版本的发展,并把它作为其博客写作软件的基础功能之一继续开发,逐步推出了0.92、0.93和0.94版本.随着网络博客的流行,RSS作为一种基本的功能也被越来越多的网站和博客软件支持.
在UserLand公司接手并不断开发RSS的同时,很多的专业人士认识到需要通过一个第三方、非商业的组织,把RSS发展成为一个通用的规范,并进一步标准化.于是2001年一个联合小组在0.90版本RSS的开发原则下,以W3C新一代的语义网技术RDF(Resource Description Framework)为基础,对RSS进行了重新定义,发布RSS1.0,并将RSS定义为“RDF Site Summary”.但是这项工作没有与UserLand公司进行有效的沟通,UserLand公司也不承认RSS 1.0的有效性,并坚持按照自己的设想进一步开发出RSS的后续版本,到2002年9月发布了最新版本RSS 2.0,UserLand公司将RSS定义为“Really Simple Syndication”.
目前RSS已经分化为RSS 0.9x/2.0和RSS 1.0两个阵营,由于分歧的存在和RSS 0.9x/2.0的广泛应用现状,RSS 1.0还没有成为标准化组织的真正标准.
2、 RSS目前的版本和推荐
到目前为止,RSS共有七种版本,推荐使用的是RSS 1.0和RSS 2.0,对于一些基本的站点同步,也可以选用RSS 0.91.
3、 RSS的语法介绍
一个RSS文件就是一段规范的XML数据,该文件一般以rss,xml或者rdf作为后缀.下面我们选择http://msdn.microsoft.com/visualc/rss.xml中的一部分作为例子简单说(略)
4、 RSS的联合(Syndication)和聚合(Aggregation)
发布一个RSS文件(一般称为RSS Feed)后,这个RSS Feed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用,如PDA、手机、邮件列表等.而且一个网站联盟(比如专门讨论旅游的网站系列)也能通过互相调用彼此的RSS Feed,自动的显示网站联盟中其他站点上的最新信息,这就叫着RSS的联合.这种联合就导致一个站点的内容更新越及时、RSS Feed被调用的越多,该站点的知名度就会越高,从而形成一种良性循环.
而所谓RSS聚合,就是通过软件工具的方法从网络上搜集各种RSS Feed并在一个界面中提供给读者进行阅读.这些软件可以是在线的WEB工具,如http://my.netscape.com ,http://my.userland.com , http://www.xmltree.com ,http://www.moreover.com ,http://www.oreillynet.com/meerkat 等,也可以是下载到客户端安装的工具
5、 RSS的未来发展
随着越来越多的站点对RSS的支持,RSS已经成为目前最成功的XML应用.RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者.相信很快我们就会看到大量基于RSS的专业门户、聚合站点和更精确的搜索引擎.
参考资料:http://wm23.com/resource/R01/Internet_1005.htm
什么是OO?
就是面向接口编程.无论你是用vtable, 或gp的function object, 或就是C的函数指针,正交分解也好,各种pattern也罢,都是面向接口编程思想的一种实现.
为什么要面向接口编程?
为了解耦.
什么是解耦?
就是把程序中互相不相关或有限相关的模块分割开来.就象收拾屋子,你希望把不同的东西放到不同的地方.把酱油和醋倒进不同的瓶子里去.
这里,对完全不相关的功能,可以简单地分开实现.
但事实上,很多情况下,不同模块之间是有互相之间的关系的.这时,就需要接口.用接口准确定义模块之间的关系.解耦前,两个模块之间共享所有信息(这个信息包括数据,也包括各自的实现细节).解耦后,需要共享的信息被准确地定义在接口中.同时,信息的流向也被确定.
解耦的好处是什么呢?
首先,程序变得清晰了.
其次,不该暴露的实现细节被隐藏了.代码的修改变容易了.
再次,结构灵活了,通过静态多态(function object)或动态多态(vtable), 一个模块可以和任意实现接口的模块协作.原来类A只能与类B协作,解耦后可以和所有实现接口IB的类如B1, B2, ... 协作了.扩展性大大增强.自然而然就代码重用了.
编译依赖也没有了.你可以专心写和编译一个模块,不用等待其它模块的完成.
调试容易了.只要模块对一个接口调试成功,其它的接口也没有问题.于是,甚至可以用一个simple naive的实现该接口的dummy类来调试.(这点,使用template的gp不适用)
那么解耦的坏处是什么呢?
接口的定义变得很关键.解耦就是隐藏一些信息,定义一些需要共享的信息.如果接口定义的不好,隐藏了不该隐藏的信息,那么对某些需要这些信息的复杂情况来说,这个解耦就失败了.
而如果没有隐藏一些应该隐藏的信息,那么不该有的耦合仍然存在.
那么怎样解耦,又怎样定义接口呢?
这是一个纯粹业务逻辑的思考过程.这里,对编程语言的知识变得无关紧要.事实上,只要精确掌握需求,严密地分析需求和模块内部子模块之间的需求,任何一个会逻辑思考的人都可胜任这个工作.就象歌星郑智化一样,虽然不识谱,但一样写歌,只不过最后要懂谱的人把歌纪录下来.
解耦的原则很简单:精确定义需求,仔细分析需求.不要隐藏任何“需求”也许会需要的信息.不要放过任何“需求”明显不需要的信息.
而对需求不清楚的情况,宁可错放一千,不能错杀一个.总而言之,决不能隐藏可能需要的信息.
不考虑重用,重用是解耦后的自然结果.不能倒因为果!
http://www.5ivb.net/Info/55/Info15237/
RSS是2004年最热门的互联网词汇之一,不过,相对于博客(BLOG)来说,RSS的知名度相应会低很多,而且至今还没有一个非常贴切的中文词汇,也许以后无需中文名,大家都习惯于直接叫RSS了.RSS之所以同BLOG一样会被认为是热门词汇的一个原因,个人推测,应该是许多分析人士认识到RSS将要对互联网内容的浏览方法所产生的巨大影响.
什么是RSS呢?RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用.RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者.发布一个RSS文件后,这个RSS Feed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用.
如果从RSS阅读者的角度来看,完全不必考虑它到底是什么意思,只要简单地理解为一种方便的信息获取工具就可以了.RSS获取信息的模式与加入邮件列表(如电子杂志和新闻邮件)获取信息有一定的相似之处,也就是可以不必登录各个提供信息的网站而通过客户端浏览方式(称为“RSS阅读器”)或者在线RSS阅读方式这些内容.例如,通过一个RSS阅读器,可以同时浏览新浪新闻,也可以浏览搜狐或者百度的新闻(如果你采用了RSS订阅的话).
在许多新闻信息服务类网站,会看到这样的按钮 ,有的网站使用一个图标,有的同时使用两个,这就是典型的提供RSS订阅的标志,这个图标一般链接到订阅RSS信息源的URL.当然,即使不用这样的图标也是可以的,只要提供订阅RSS信息源的URL即可,如网上营销新观察提供的RSS订阅URL是:http://www.marketingman.net/rss.xml
使用RSS获取信息的前提是,先安装一个RSS阅读器,然后将提供RSS服务的网站加入到RSS阅读器的频道即可.大部分RSS阅读器本身也预设了部分RSS频道,如新浪新闻、百度新闻等.
RSS基础知识:
如何利用RSS阅读器订阅RSS新闻内容?如何免费下载RSS阅读器?
常用的RSS阅读器:周博通RSS阅读器 看天下网络资讯浏览器
【RSS实用知识】:关于RSS订阅与RSS阅读的常见问题解答(网上营销新观察 冯英健)
为了进一步了解RSS及其发展历程的有关背景知识,下面摘录了2003年10月平文胜为时代营销撰写的有关RSS的介绍文章.仅供参考.网上此类介绍文章也不少,有兴趣的请到网上检索更多信息.例如维基百科对于RSS的定义、RSS规范、RSS专用阅读器和RSS在线阅读器、中文RSS搜索引擎等等(http://zh.wikipedia.org/wiki/RSS)
RSS及其发展历程简介 (时代营销 平文胜 2003-10-10)
RSS是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用.RSS应用在国外已经非常普遍,从个人博客(Blog)栏目、企业站点到世界级的门户都提供基于RSS的服务,如IBM公司站点的中文新闻RSS http://www.ibm.com/news/cn/zh/index.rss ,YAHOO站点的http://news.yahoo.com/rss ,微软MSDN站点的http://msdn.microsoft.com/aboutmsdn/rss.asp 等等.
1、 RSS的历史
那么RSS究竟代表什么呢?比较普遍的有两种说法,一种是“Rich Site Summary”或“RDF Site Summary”,另一种是“Really Simple Syndication”,之所以有这些分歧,需要从RSS发展的历史说起.
最初的0.90版本RSS是由Netscape公司设计的,目的是用来建立一个整合了各主要新闻站点内容的门户,但是0.90版本的RSS规范过于复杂,而一个简化的RSS 0.91版本也随着Netscape公司对该项目的放弃而于2000年暂停.
不久,一家专门从事博客写作软件开发的公司UserLand接手了RSS 0.91版本的发展,并把它作为其博客写作软件的基础功能之一继续开发,逐步推出了0.92、0.93和0.94版本.随着网络博客的流行,RSS作为一种基本的功能也被越来越多的网站和博客软件支持.
在UserLand公司接手并不断开发RSS的同时,很多的专业人士认识到需要通过一个第三方、非商业的组织,把RSS发展成为一个通用的规范,并进一步标准化.于是2001年一个联合小组在0.90版本RSS的开发原则下,以W3C新一代的语义网技术RDF(Resource Description Framework)为基础,对RSS进行了重新定义,发布RSS1.0,并将RSS定义为“RDF Site Summary”.但是这项工作没有与UserLand公司进行有效的沟通,UserLand公司也不承认RSS 1.0的有效性,并坚持按照自己的设想进一步开发出RSS的后续版本,到2002年9月发布了最新版本RSS 2.0,UserLand公司将RSS定义为“Really Simple Syndication”.
目前RSS已经分化为RSS 0.9x/2.0和RSS 1.0两个阵营,由于分歧的存在和RSS 0.9x/2.0的广泛应用现状,RSS 1.0还没有成为标准化组织的真正标准.
2、 RSS目前的版本和推荐
到目前为止,RSS共有七种版本,推荐使用的是RSS 1.0和RSS 2.0,对于一些基本的站点同步,也可以选用RSS 0.91.
3、 RSS的语法介绍
一个RSS文件就是一段规范的XML数据,该文件一般以rss,xml或者rdf作为后缀.下面我们选择http://msdn.microsoft.com/visualc/rss.xml中的一部分作为例子简单说(略)
4、 RSS的联合(Syndication)和聚合(Aggregation)
发布一个RSS文件(一般称为RSS Feed)后,这个RSS Feed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用,如PDA、手机、邮件列表等.而且一个网站联盟(比如专门讨论旅游的网站系列)也能通过互相调用彼此的RSS Feed,自动的显示网站联盟中其他站点上的最新信息,这就叫着RSS的联合.这种联合就导致一个站点的内容更新越及时、RSS Feed被调用的越多,该站点的知名度就会越高,从而形成一种良性循环.
而所谓RSS聚合,就是通过软件工具的方法从网络上搜集各种RSS Feed并在一个界面中提供给读者进行阅读.这些软件可以是在线的WEB工具,如http://my.netscape.com ,http://my.userland.com , http://www.xmltree.com ,http://www.moreover.com ,http://www.oreillynet.com/meerkat 等,也可以是下载到客户端安装的工具
5、 RSS的未来发展
随着越来越多的站点对RSS的支持,RSS已经成为目前最成功的XML应用.RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者.相信很快我们就会看到大量基于RSS的专业门户、聚合站点和更精确的搜索引擎.
参考资料:http://wm23.com/resource/R01/Internet_1005.htm