線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2504
推到 Plurk!
推到 Facebook!

D2007試用Part1心得:ASP.NET中的D2007 ECOIV VS D2006 ECOIII 的完全不同方式

 
ATEIN
高階會員


發表:105
回覆:320
積分:125
註冊:2002-07-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-09-25 00:29:07 IP:219.86.xxx.xxx 訂閱
據官方得知C# BUILDER 已然在2006成為絕版,因為ECO團隊 與CODE GEAR分家
,又獨立成新公司了而C# 已在D2007 或之後版本永遠絕跡。

ECO 將會推出 FOR DELPHI 與FOR VISUAL C#兩個版本 ,推入巿場。因此C#BUILDER
永遠絕版。真是無話可說,D2007 沒有C#了。看來要使用C#的人,必須去買套VS-C# 來寫。
一個強大的C#語言,竟然在DELPHI 永遠不能實現提早結束。真可惜。

C# 使用人數不在少數,比DELPHI PASCAL 語言用的人還多,竟然絕版,不搞不懂 他們的
CEO 倒底是內行人還外門人?他們CEO 竟然像個不懂巿場的人,決定不在DELPHI 2007工具
中加入C# 語言,那麼投資在D8以及D2005以及D2006 的C# BUILDER使用者,不就都白玩。
而且投入ECO FOR C# BUILDER 也已有近4年的歷史了,這樣政策的改變,以後誰還敢再向
DELPHI 下單呢?! 聽說 官方CEO 可能是新來的,所以不懂巿場吧,外門人來領導內門人,
第一戰就搞得雞飛狗跳。

還有DELPHI 2007 的試用版本 ,ECOIV的範例,竟然是ECOIII FRO DELPHI 2006 的範例,實在
是很好笑,在D2007 是完全不能執行的。ECOIV 的語法與設計GUI 方式明顯與ECOIII 不同。
也沒有比ECOIII 容易與快速上手了。像page_load 內產生的root 指定設置物件參考程式碼
在DELPHI 2007 中竟要自己寫,而DELPHI 2006 則會自動產生,D2007 ECOIV也沒有提示
怎麼寫,要自己摸得久才能得知,等於是ECO 半重學來形容了。可惜摸C# FOR ECO 近4年
,要轉到DELPHI FOR ECOIV 還真的有點奇怪。實在很討厭DELPHI 那種混亂視覺的語法,
而C#卻是簡單明確。其實DELPHI 可以更簡化的,只是做與不做而已。

ECOIV VS ECOIII 在ASP.NET2.0 的設計不同:
ECOIV 的設計方式 ,在D2007 中已不能使用ECO1/ECOII/ECOIII 這三版的所有ECO資料元件。
例如 「ReferenceHandle、Expresshanld」元件在ECOIV 雖然有出現,但在ASP.NET 2.0 中只
能用「EcoSpaceManager、EcoDataSource」 來取代, 雖然EcoDataSource 取代了Express-
hanld 元件但卻不能指向原來的自己(self.角色名) 那麼我在實作中,是以程式碼來指定的,顯得
有點不人性與物件導向化了。以往ECOIII 在設定GUI 時可以充分與ORM/MDA / DDA 的精神完全搭
配得上,但是在ECOIV 要在寫程式時才能搭得上,而不像ECOIII 視覺化開發便利。

ECOIV 與ECOIII總評:
1.ECOIII 比ECOIV 的生產力較高且快速直覺化。
2.ECOIII 的元件思維不能用在ECOIV。
3.ECOIV GUI設計顯得不能夠與物件類別在GUI驅動上一致化呈現人性化設計邏輯性。
4.ECOIII 與GUI 可以輕易與ORM 模型搭配上,思維也相同。ECOIV則是ORM 與GUI 分開思維,
且只能透過程式思維。
5.ECOIV 的效率明顯比ECOIII 快很多。
6.ECOIV 不能使用「循環圖、活動圖、合作圖」...等7種圖,只能使用「類別圖、狀態圖(機)」兩種。
7.ECOIV 的範例卻還是附加ECOIII 的範例,有點笑話。
8.ECOIV縱然可以使用ECOIII 的「ReferenceHandle、Expresshanld」感知元件,但在ECOIV ASP
.NET 2.0 顯示元件(ex:GridView)卻無法感知。
9.ECOIV 刪除與新增與修改等物件行為,明顯簡單,且減少許多程式碼。
10.ECOIV 使用狀態機的明顯性,效率及實作性變得更實用了。可以不用任何的程式就可以完成複雜
的商業邏輯了, 只是有一些美中不足的BUG。例如:專案X 在A電腦,COPY 到 B電腦要開啟專案,
會造成 狀態機的所有狀態圖不見(ps:2台PC是同樣的D2007版本)‧
11.ECOIV 設計 WEBSERVICE 時,要編譯時,會發現EcoSpacePrivider.dculi 消失, 因 此
WebService 在ECOIV中不能實作。
12.ECOIV 更加實作了OCL 的語言。
13.ECOIV 雖然可以使用ECOIII 的OLD 的設計模式,但是PAGE 只能在Default.aspx 的Page_Load
產生一次Root 等物件參考程式碼。再另加入一個新aspx 頁面後,就沒有那些方便的自動程式碼。
而且舊的方式,ASP.NET 2.0中的元件,屬於ECOIII 時期的舊資料元件完全不能夠受到GridView等元件感知。
所以縱然第一個PAGE 有產生物件參考程式碼,沒也有用。因為還是不能受到ASP.NET 2.0 顯示元件來感知。
等於白做,建議最好能讓ECOIII元件支援ASP.NET 2.0 的感知。D2007在相容D2006 ECOIII是等於零可以
來形容;因此若想把D2006 的ECO 專案拿到D2007 繼續開發,想都別想。

//註:DELPHI 2006 自動產生的ECO 物件參考指令:在D2007 雖可以透過精靈以舊模式在第一頁自動產生,
但因「ReferenceHandle、Expresshanld」元件不能受到ASP.NET 2.0 元件感知,因此也沒意義了。

[code delphi]
procedure TMainForm.Page_Load(sender: System.Object; e: System.EventArgs);
var
Id: string;
begin
EcoSpace.Active := True;
Id := Request.Params['RootId'];
if Assigned(Id) and (Id <> '') then
rhRoot.SetElement(ObjectForId(Id));
if not IsPostBack then
DataBind;
// TODO: Put user code to initialize the page here
end;
[/code]


建議與改善:
1.希望ECOIV 可以學習並繼承像ECOIII 在page_load 中的自動產生物件參考的指令,快速讓ECO 可以
找到原始角色的參考物件。
2.希望ECOIV 的EcoSpaceManager可以像ECOIII 的ReferenceHandle一樣可以指定靜態類別,方 便
EcoDataSource 指向自己所屬(self)的角色。
3.希望 ECOIV 改版,在原來的ECOIII 的專案可以拿到ECOIV 上繼續開發,而不是要重新開發。提高相容性
,增加投資價值。
4.就像是DBX技術與專案 在D7可以延續到D2007(有BUG,與D7/D2005/D2006一樣曾經發生過,D2005/
D2006 更新後已正常;D2007 9月試用版本還是很不正常,會造成SQL錯誤以及資料型態相容性錯誤,因此
DBX 在D2007 不能有效實作)。
5.希望「EcoSpaceManager」能像「ReferenceHandle」元件,可以指向靜態類別,以讓「EcoDataSource」
元件像「ReferenceHandle」元件一樣可以指向「self.角色名」,快速又直覺的開發方式,因為若要透過寫
一大串程式,實在是有點煩。在ECOIII 的「ReferenceHandle ReferenceHandle」明顯快速又直覺化。
6.建議ECOIV後續版本,要實將ASP.NET2.0 AJAX及CSS模版實作時能以ECO的專案進行開發,目前並不能
在建立專案時,以CSS以及AJAX的觀點建立專案,以CSS 加入新的PAGE 還是以傳統ASP.NET 而新增。
7.ECOIV 的WEBSERVICE 新專案時,會少產生一個重要需編譯的檔案「EcoSpaceProvider.dculi」(ASP.NET)。1168版本;更新後,已解決
8.ECOIV 會出現一個強制結束編譯器訊息「無效視窗代碼1400」(ASP.NET)。
9.ECOIV元件會自動消失(ASP.NET),但下次重載入後,會再出現;有時會全部消失。
10.在A的PC畫calss 時 狀態機 拿到B主機,狀態機不見了,無法再使用類別圖內的狀態機。
11.出現存取無效以及無故出現「未指定參考物件,但不是設計模式時的粗心問題,而是元件消失而產生的問題。
12.DBPCONNECT 在ECO模式中消失了。唯有在透過精靈建立專案是屬於BDPCONNECT 才能有BDPCONECT 連接器。
13.ECO中,除了以精靈初始建default.aspx 可以UpdateDataBase更新, 再另加一新一頁ECO.ASPX PAGE之後,
第二頁無法以UpDateDataBase指令更新,必須手動修改與第一頁的Default.aspx相同的ecospace 來源才能
使用UpdatedataBase方法。ps:第二頁的新頁是以hanld 去取得ecospace 。使用ecospacemanage 解決這bug.
14.不能以 EVAL(EcoDataSource,'屬性');取得資料。
15.ACCESS資料庫,不能用在ECOIV的持續化建立,產生新資料表。


ECOIV 是一個不錯且先進的產品,效率明顯快很多;建議能繼承ECOIII 的優點
與ECO專案持續相容性開發在下一代的版本。因此舊指令與新指令也可以繼續
使用與相容。不然誰敢投資在ECO呢? DBX 就是一個新舊版本高相容性且持續
開發的好樣例。


ECOIV 可以推薦成為一個非常良好的好產品,值得支持與繼續使用,只是技術
文件太少,推廣時將會造成一般入門者的障礙。


以上是試用的心得。



------
ATEIN
編輯記錄
ATEIN 重新編輯於 2007-09-25 00:34:34, 註解 無‧
ATEIN 重新編輯於 2007-09-25 00:36:29, 註解 無‧
ATEIN 重新編輯於 2007-09-25 00:43:16, 註解 無‧
ATEIN 重新編輯於 2007-09-25 00:48:54, 註解 無‧
ATEIN 重新編輯於 2007-09-25 00:52:04, 註解 無‧
ATEIN 重新編輯於 2007-09-25 00:53:08, 註解 無‧
ATEIN 重新編輯於 2007-09-25 01:00:21, 註解 無‧
ATEIN 重新編輯於 2007-09-25 01:06:05, 註解 無‧
ATEIN 重新編輯於 2007-09-25 01:08:07, 註解 無‧
ATEIN 重新編輯於 2007-09-25 01:08:28, 註解 無‧
ATEIN 重新編輯於 2007-09-25 01:09:30, 註解 無‧
ATEIN 重新編輯於 2007-09-25 01:10:01, 註解 無‧
ATEIN 重新編輯於 2007-09-25 01:10:44, 註解 無‧
ATEIN 重新編輯於 2007-09-25 01:11:24, 註解 無‧
ATEIN 重新編輯於 2007-09-25 01:11:58, 註解 無‧
ATEIN 重新編輯於 2007-09-25 01:14:16, 註解 無‧
ATEIN 重新編輯於 2007-09-25 01:16:00, 註解 無‧
ATEIN 重新編輯於 2007-09-25 01:19:00, 註解 無‧
ATEIN 重新編輯於 2007-09-25 09:34:37, 註解 無‧
ATEIN 重新編輯於 2007-09-25 09:36:02, 註解 無‧
ATEIN 重新編輯於 2007-09-26 13:54:14, 註解 無‧
ATEIN 重新編輯於 2007-09-27 09:03:01, 註解 無‧
ATEIN 重新編輯於 2007-10-01 20:24:27, 註解 測試ASP.NET 2.0 ‧
ATEIN 重新編輯於 2007-10-04 01:21:05, 註解 11.12.13.14‧
ATEIN 重新編輯於 2007-10-04 01:23:41, 註解 無‧
ATEIN 重新編輯於 2007-10-04 01:26:11, 註解 15‧
ATEIN 重新編輯於 2007-10-11 00:30:55, 註解 無‧
系統時間:2024-05-04 7:07:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!