苛評VCL Amingoo的留言

2021-08-22 06:50:18 字數 1077 閱讀 1378

以下言語都來自amingoo先生:

1. 這個問題不是所謂的型別問題,也不應該是在dll內去解決的問題。如同builderchen所說,不認當把乙個特定的oop實現框架暴露在dll的介面層,這樣會使得這個dll失去了共用**的性質。

2. bpl通過dll匯出函式的方式使得不同的模組間可以使用同乙個rtl。從本質上來說,它就是一種失去了通用性質的dll。如同第一條所述的,它們的應用場合、背景和功能都有了差異。不能苛求說:要公用**,還要公用oop框架。這一點,borland做不到,m$也做不到,因為沒有哪兩個oop框架的實現方案是一樣的。

3. 「沒有哪兩個oop框架的實現方案是一樣的」的原因,基本上可以歸結為共用**的級別是在語言層,而非二進位制**層。所以com宣稱它的**共用是在二進位制**層,就得到了更多的支援。同樣,你也會發現com的**互用產生了比dll更多的價值。——windows的應用層基本上都構架在com之上。

4. 二進位制**層的共用仍是有限的,因為它仍然受到硬體系統和編譯系統的約束。所以com的支援有幾家,但也不是說就大一統了。更進一步的共用是在描述層,也就是說:與具體的語言和編譯環境無關層面的共用。這表現在兩個方面,一是介面,二是xml。介面是對**功能的約束,xml是對**互動的約束。你會看到,更多的廠商支援xml和介面(我這裡不是指com介面),就是因為大家都看到了這樣做的價值:足夠的抽象,以及沒有強制性的實現要求。

5. 繞了乙個圈子,我想說的是,樓主用一種純為技術實現和使用的方式來考慮和評估架構的設計,用現在的環境下的需求來評估十年前的架構的設計。前者會使看問題不夠深入,後者會有失公允。同樣的乙個「共用**」和「oop體系設計」的問題,在當前的理論研究和技術實現下的確可以有更佳的方案,但這並不是舊的架構的弊誤或疏漏,而是新的應用環境產生的需求。

6. 樓主所談論到的一些(我是說包括其它的幾篇文章中的)問題,的確是delphi自身的侷限,但大多數算不上問題。尤其是在delphi所適用的應用環境中,更是算不上問題。delphi的oop、vcl以及com實現方面的架構,能被廣泛地使用上十年八年,不是沒有它的道理的。而我們自身的架構設計能力,能保證一套系統(哪怕僅是乙個oa)或者乙個架構(哪怕僅是乙個外掛程式機制)能有效地使用上一年兩年的,又有幾個呢?因此我們大多數時候如同以管窺豹,所見者,斑斑點點而已。

最猛的留言

踩吧,踩我,我踩 我再踩!我用力踩!我很用力踩!我非常用力踩!我用盡全力去踩!就算鞋子爛也要踩!就算天塌下來我都要踩!要是天真塌下來了繼續踩!要是地面凹了我不管繼續踩!要是踩到我腳骨折我也繼續踩!要是別人見了罵我傻我還是要踩!要是警察敢過來阻止我就更加要踩!要是你看我不爽我沒辦法還要繼續踩!要是你覺...

2940 學生的留言

樣例輸入 copy 3cinger loves his students.not all the students like programming.but all students of cinger love cinger.樣例輸出 copy 2這個題類似之前的索馬利亞海盜,問的就是字元陣列基礎...

express ejs搭建的留言

const express require express const bodyparser require body parser const morgan require morgan const moment require moment const path require path 註冊模...