Relationship Based Object
来源:互联网 发布:java学生成绩查询系统 编辑:程序博客网 时间:2024/05/14 17:28
这虽然是用英文做的标题,但其真是意义,估计只有中国人才能懂。
首先要说明的是,Relationship Based Object(以下简称RBO),绝对是一个新的概念。因为它是我刚刚杜撰出来的。不过我想借此,表述我的一些在OO上的想法而已。有兴趣的朋友,可以共同讨论。
在说RBO之前,我想先说说中国的一个非常典型的人际处理方式:关系。有事托人找关系,没事大家拉关系。现在有人将这个说法提升了一下,叫"人脉",表示的就是你这个人的处理世俗事情的能力。人脉越厚,越表示有能耐。
于是,我突然有一个想法,如果将这个"人脉"的概念,加入到OO中去,会是一个什么情况呢?
其实,在此之前,我已经和一位同事讨论过这方面的问题。他的想法是,西方人关注个体,于是出现了面向对象思想,而中国人关注关系,是不是也应该发明一个面向关系思想?他在这方面还进行过深入尝试,希望他能成功。有兴趣的可以到他的博客与他讨论(http://blog.csdn.net/cll0320)。
不过,我倒是感觉这两者是可以协调的。(我的这位同事说,那是因为我还受面向对象的毒害,所以不能完全摆脱他的影响)在中国,人也是独立存在的。只不过,这种人的有了一种特殊的能力,叫人脉。
于是,我提出了一个想法,如果一个对象A,因为它有了人脉,A因此可以借用或请用或贿赂B来完成某一特殊事情S,我们就可以认为A有S的能力。从面向对象的角度来看,调用A的人,并不需要知道A是如何完成S事情的。在原先的对象组织中,显然并没有完全封装好这点。
如果用程序的语言来讲,以前的完成方式是:
A.B.S();
而我提出的方式是:
A.S();
这种方式再加入到动态语言中,其方式完全符合其想法。我们在调用的时候,根本不需要关心对象是不是已经拥了这个能力。但是,一旦这个对象,能够通过人脉,从而获取这个功能的时候,我们也可以认为此对象已经拥有这个能力了。
当然了,如果要实现这样的方式,还需要编译器的修改。但有一点可以肯定,这是完全可以实现的。那么我们就只是来关心这样的改变之后的特点。
- 对于关系细节进行了封装。
- 符合动态语言中的鸭子类型原则
- 对象的能力是可以扩展的,当然了,这依赖于人脉的扩展。
- 可以更好地理解中国的社会,反过来讲,就是可以更好的描述现实社会。
- 形象地说明了,发展关系和发展技术同样可以赚钱的原因,而且,显然,人脉的能力扩展变得非常容易和快速。
后面两个纯属瞎诌。不可否认的是,我为这种代码上的简写[A.B.S()到A.S()],找到了一种思想依据,这对我来讲,已经很是兴奋了。不知道大家以为如何?欢迎大家拍砖!
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1525941
- Relationship Based Object
- Relationship Based Object
- Relationship Based Object铪
- Python type and object relationship
- object-oriented pk object-based
- Object-Based Security
- Object-Based Storage Device
- Motion-Based Multiple Object Tracking
- FORMS 6I OBJECT-BASED FEATURES
- Essential C++ 读书笔记 之 Object-Based Programming
- FORMS 6I OBJECT-BASED FEATURES (1)
- 对象存储(Object-based Storage)概述
- Object Detection----- Discriminatively Trained Part Based Models
- Motion-Based Multiple Object Tracking阅读
- 对象存储(Object-based Storage)概述
- An Introduction to CNN based Object Detection
- Edge-based 3D object traking(0)
- clearCache: Entity based View Object and transient View Object Scenario
- 勿把计划当论文
- 成长需要加速度
- 女生教你如何追美媚
- 数据接口设计中遗漏的版本差异
- 面向对象学习史
- Relationship Based Object
- Inside Object: 面向对象的发展
- 代理(Proxy)模式 vs. 代理(Agency)机构
- 房间收拾与软件架构
- 星际随想谈设计
- C# 一个简单分词程序的思路和代码(四) 键树 查询记录
- 更坏就是更好(Worse Is Better)
- 探索流(Stream)的概念
- 3.5.2.1 回滚过程