這雖然是用英文作的標題,但其真是意義,估計只有中國人才能懂。ide
首先要說明的是,Relationship Based Object(如下簡稱RBO),絕對是一個新的概念。由於它是我剛剛杜撰出來的。不過我想借此,表述個人一些在OO上的想法而已。有興趣的朋友,能夠共同討論。.net
在說RBO以前,我想先說說中國的一個很是典型的人際處理方式:關係。有事託人找關係,沒事你們拉關係。如今有人將這個說法提高了一下,叫「人脈」,表示的就是你這我的的處理世俗事情的能力。人脈越厚,越表示有能耐。對象
因而,我忽然有一個想法,若是將這個「人脈」的概念,加入到OO中去,會是一個什麼狀況呢?blog
其實,在此以前,我已經和一位同事討論過這方面的問題。他的想法是,西方人關注個體,因而出現了面向對象思想,而中國人關注關係,是否是也應該發明一個面向關係思想?他在這方面還進行過深刻嘗試,但願他能成功。有興趣的能夠到他的博客與他討論(http://blog.csdn.net/cll0320)。ip
不過,我卻是感受這二者是能夠協調的。(個人這位同事說,那是由於我還受面向對象的毒害,因此不能徹底擺脫他的影響)在中國,人也是獨立存在的。只不過,這種人的有了一種特殊的能力,叫人脈。get
因而,我提出了一個想法,若是一個對象A,由於它有了人脈,A所以能夠借用或請用或賄賂B來完成某一特殊事情S,咱們就能夠認爲A有S的能力。從面向對象的角度來看,調用A的人,並不須要知道A是如何完成S事情的。在原先的對象組織中,顯然並無徹底封裝好這點。編譯器
若是用程序的語言來說,之前的完成方式是:博客
A.B.S();it
而我提出的方式是:io
A.S();
這種方式再加入到動態語言中,其方式徹底符合其想法。咱們在調用的時候,根本不須要關心對象是否是已經擁了這個能力。可是,一旦這個對象,可以經過人脈,從而獲取這個功能的時候,咱們也能夠認爲此對象已經擁有這個能力了。
固然了,若是要實現這樣的方式,還須要編譯器的修改。但有一點能夠確定,這是徹底能夠實現的。那麼咱們就只是來關心這樣的改變以後的特色。
後面兩個純屬瞎謅。不能否認的是,我爲這種代碼上的簡寫[A.B.S()到A.S()],找到了一種思想依據,這對我來說,已經非常興奮了。不知道你們覺得如何?歡迎你們拍磚!