
OO
文章平均质量分 92
wishfly
这个作者很懒,什么都没留下…
展开
-
二次开发接口(API)与插件(Addin)
二次开发接口(API)与插件(Addin)许式伟 (版权声明)2007-4-20在前文,我们已经解释了: 自动化(Automation)基础概念:COM组件(Component)与接口(Interface) 自动化(Automation)基础概念:变体(Variant)与Dispatch调用(IDispatch) 而同时,我们经常也可能经常听到以转载 2007-04-20 10:16:00 · 7967 阅读 · 0 评论 -
好的管理的一个重要特征是对职位进行管理,而不是针对人的管理。
我一直认为,很多道理都隐藏在我们的周围,只不过我们没有认识到罢了。在这里我先从一个简单的故事开始。这个故事我已经在很多场合讲过。在找到更好的故事之前,我将一直用它。 我说的这个故事的名字叫“总经理与秘书”的故事。这里没有任何桃色新闻,这点恐怕会让某些人失望:)。 上海的一家公司的总经理A明天需要到北京参加一个非常重要的会议,他叫过来自己的秘书B吩咐道:“B小姐,请帮我订一张明天早上转载 2007-12-16 14:26:00 · 996 阅读 · 0 评论 -
白话面向智能体编程(Agent Oriented Programmig, AOP)之二
Agent之前-Object世界 在说起Agent之前,俺们还有必要先敬拜一下Agent的前辈Object,因为Agent实际上是由Object“进化”而来的。这话说出来,可能有些读者同志不太高兴了,Object有什么不好吗?现在这么多复杂的系统,不都是基于OO的思想设计出来的吗? 然也,OO的确为提高软件开发效率做出了很大的贡献,但是在使用过程中,OO也暴露出了一些痒处:转载 2007-12-16 21:07:00 · 1616 阅读 · 0 评论 -
Thread是一根琴弦
同事说omni_thread为什么要搞得那么复杂呢?对了,先问一下,你有没有用过这个类?其实,这就是一个对系统线程对象Thread的抽象,以使应用程序可以在不同平台上方便移植,而不论底层具体的线程模型。起初,这个世界是没有Thread这个概念的,只有Process。我们知道,当初操作系统就是用Process来抽象计算任务的,并负责对Process进行调度。对于单CPU系统,一个时间里只有一个Pro转载 2007-12-14 22:49:00 · 3115 阅读 · 0 评论 -
白话面向智能体编程(Agent Oriented Programmig, AOP)(之一)
Adrian同志有一篇关于Aspect Oriented Programming的Blog The Ted Neward Challenge (AOP without the buzzwords),俺非常的喜欢。这篇文章中文翻译过来可以是“无废话AOP”,它从一个脱离了具体实现手段的视角,用简单清晰的语言向我们表达了Aspect Oriented Programming的本意:尽量将需求和实现的关转载 2007-12-16 21:02:00 · 2184 阅读 · 0 评论 -
白话面向智能体编程(Agent Oriented Programmig, AOP)之三
进入Agent世界-什么是Agent? 在前面的讨论中,说道了一下Object让俺们感觉不是很爽的地方。总结下来:OO并不是对现实世界最贴切的模拟。那么什么东东可以比OO更加贴近地来模拟现实世界呢?就目前看来,还是Agent可以担当起Object接班人的这个角色。 这里多插一段话。俺们可以注意到,不论是Object还是Agent,他们都有比较深的理论渊源,同时以指导实际软件开发为其价值转载 2007-12-16 21:22:00 · 2171 阅读 · 0 评论 -
白话面向智能体编程(Agent Oriented Programmig, AOP)之四
前段时间一直周旋于各种有趣且辛苦, 或者无趣且更辛苦的事情当中, 虽然其间也切换到其他好些不同的技术领域, 但一直没有放弃在AOP方面的关注思考. 前面之所以没有能接着AOP这个话题继续和大家聊下去, 是因为感觉自己没有足够的精力和空闲来将这些想法沉淀下来, 并回锅为简单直白, 易于消化和理解, 并能引发思考的东西. 这几天, 出差在外, 工作之余免去了灶台内外的忙活. 油烟味少了, 人也觉转载 2007-12-16 21:23:00 · 1493 阅读 · 0 评论 -
关于面向对象的一点想法
C++等语言的“面向对象”是源代码级别的,是由编译器为你呈现的“一片‘面向对象’的假象” ,它只限于编译器的这一头(输入),编译器的另一头(输出)同样是一堆十分“physical”的二进制指令序列,和C等面向过程的语言的编译输出没有本质区别。所以NewB程序员说,“我能用C写出和C++同样编译结果的东东来”,NewC程序员也说,“我的代码可以通过C++的类封装检查,但执行结果完全可以破坏对象封装,转载 2008-03-23 10:41:00 · 990 阅读 · 0 评论 -
接口=协议,抽象类=模板
接口=协议,抽象类=模板1。接口:是向客户保证类或结构体行为的一种协议。当类实现某个接口时,相当于告诉可能的客户--“我们保证支持这个具名接口的方法、属性、事件和索引器”。2。抽象类:是用来被派生的,并为其子类提供可遵循的模板。描述了要实现该抽象的所有子类的公共方法--共性。原创 2008-01-07 09:09:00 · 948 阅读 · 0 评论 -
OO Programing in C
最近看c版很多人讨论c的面向对象,前天突然在别的论坛看到这个帖子,又因为今天早上醒得早,就copy过来了 http://www.javaeye.com/topic/150575http://www.javaeye.com/topic/150578http://www.javaeye.com/topic/150581作者:rubynroll -----------------------------原创 2008-08-28 10:31:00 · 1494 阅读 · 0 评论 -
ADO 事件模型范例 (VC++)
对实例化 ADO 事件模型的方式进行常规说明。下面是一个在由 #import 伪指令创建的环境中实例化事件模型的特定范例。 常规说明中使用 adoint.h 作为方法声明的引用。但是由于使用 #import 伪指令,因此常规说明中的一些细节需要稍微做些更改。 #import 伪指令将 typedef、方法声明数据类型和组合键分解为其基本格式。所有必须覆盖的纯虚拟方法都被加上前缀“r转载 2008-12-29 21:58:00 · 1461 阅读 · 0 评论 -
对象就像是生物学里的细胞,或者网络中的一台计算机,只能够通过消息来通信
面向对象编程之父之一 Alan Kay 谈面向对象博主按:我这么多年一直再思考面向对象(OO)到底是什么。而且还会继续思考并实践下去。在此收录图灵奖得主(2003年)Alan Kay 的观点,方便自己思考时随时查阅。1. 对象就像是生物学里的细胞,或者网络中的一台计算机,只能够通过消息来通信(因此消息概念出现很早,但是它在程序设计语言中实际可用却花了较长时间。)2. 我想去掉数据。B5000通过其转载 2007-12-16 10:55:00 · 1037 阅读 · 0 评论 -
61条面向对象设计的经验原则
“你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起。” ----------Arthur J.Riel (1)所有数据都应该隐藏在所在的类的内部。 (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。 (3)尽量减少类的协议中的消息。 (转载 2007-12-04 16:41:00 · 659 阅读 · 0 评论 -
什么是OO思想
用OO的开发方式去分析,设计一个系统,掌握OO还是需要掌握许多的,我认为有以下几点必须掌握:1. UML 这是OO的工具,OO 开发人员交流思想的工具.2. 了解RUP. 掌握好的软件开发过程才能开发出好的软件,RUP其实就是指导我们OO分析与设计的一个开发过程.我一直认为RUP是正宗,虽然他烦琐.3. 理解建立领域模型的重要性.Evan的DDD的确是这样的好书.这个到现在也说不出什么道道.4.转载 2007-11-30 11:57:00 · 6215 阅读 · 1 评论 -
模块按专业领域进行分解
模块分解原理的探索 在软件高层设计中,如何分解模块是首要考虑的问题。目前业界公认模块划分要按照“高内聚,低耦合”的原则来进行,那么如何划分才能满足“高内聚,低耦合”呢?下面来对模块分解原理方面进行一些探索,有考虑不周和不成熟之处还请大家不吝指正。模块是按功能来分解的吗?许多人可能有过经验,面对一堆功能性需求,多个不同的需求可能要放到同一个模块里,而某个需求又需要分解到多个模块里去实转载 2007-04-25 11:11:00 · 1346 阅读 · 0 评论 -
详细解析Java中抽象类和接口的区别
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者转载 2007-05-11 18:17:00 · 709 阅读 · 0 评论 -
Interface Design Rules
COM Interface Design Rules This section provides a short summary of interface design rules and guidelines. Some of these rules are specific to the COM architecture, while others are restrict转载 2007-08-16 09:12:00 · 913 阅读 · 0 评论 -
Templates vs Interfaces
It seems another religion war has started between template fans ("Wrap, Wrap, Wrap") and virtual functions fans ("Derive, Derive, Derive"). If I want and obje that is A-able, B-able and C-Able I can:转载 2007-08-19 09:21:00 · 863 阅读 · 0 评论 -
抽象就是有选择的忽略
“软件设计的重点在于抽象”,不记得这句话是哪位说的了,我想改正一下:“保证软件灵活性设计的重点是抽象”,由此可知,抽象的作用是“保证软件的灵活性设计”。越来越多的语言、平台构建在OO思想之上,这充分说明了OO的正确性。OO,一种思想,一种谈到软件设计时必须涉及的思想,越来越多的人开始追捧它,当然,我也是其中之一。有了它,软件设计可以提升到一个“美”的境界;有了它,软件的可读性、可维护性、转载 2007-08-23 11:35:00 · 771 阅读 · 0 评论 -
用VS2005.NET进行三层结构应用程序的开发
用VS2005.NET进行三层结构应用程序的开发 1.三层之间的关系:三层是指:界面显示层(UI),业务逻辑层(Business),数据操作层(Data Access)文字描述:Clients对UI进行操作,UI调用Business进行相应的运算和处理,Business通过Data Access对Data Base进行操作。 优点:1、增加了代码的重用。Data Access可在多个转载 2007-10-18 23:31:00 · 955 阅读 · 0 评论 -
从C++到Java --理解面向对象是关键所在
从C++到Java --理解面向对象是关键所在 如果你没有被流放到孤岛的话,那么你一定会听说了Java的出现对开发者和用户的潜在冲击了。在这篇文章中,我要强调一些C++与Java之间的不同。目的不是教授Java的编程方法,而是让读者注意到从C++转向Java的时候可能遇到的一些潜在的问题。本文将提供一个对这些概念的简明的解释,而不是提供一些深入的或者如何使用的问题。记住,这只是依据我对Ja转载 2008-01-26 09:25:00 · 1016 阅读 · 1 评论 -
Rational 路线图
成功的软件项目归根结底都离不开软件开发最佳实践的应用,以及软件工程方法论的有效指导。Rational 软件在将近三十年专注于软件工程的发展历程里,为业界积累了丰富的软件开发经验和软件工程实践知识。并在此基础上,Rational 打造出业界领先的软件开发与交付平台。 Rational 软件开发最佳实践精华 —— RUP转载 2007-11-14 13:54:00 · 851 阅读 · 0 评论 -
模型驱动软件开发实战步骤
有人说:今年是AJAX年,AJAX作为软件系统表现层实现技术,怎么能和改变软件开发方式的模型驱动开发模式相比呢?DSM、Together 2006等都在2006不断亮相,因此,说2006年是领域模型年一点也不过分,因为这是一个软件新旧时代的开始之年,数据库时代已经过去。领域模型时代已经来临! 过去,当我们面对一个新的业务需求时,我们总是从先建立数据表结构开始,这种面向数据表的分析设计方法已转载 2007-11-30 12:31:00 · 1203 阅读 · 0 评论 -
虚函数讨论---vc&汇编
http://blog.youkuaiyun.com/linyt/archive/2011/04/20/6336762.aspx转载 2011-04-27 10:47:00 · 690 阅读 · 0 评论