[ QQ群讨论:1005454 ] 三层由淺到深讨论,欢迎高手指点,新手捧场。 (0分)

  • 主题发起人 主题发起人 aleyn
  • 开始时间 开始时间
A

aleyn

Unregistered / Unconfirmed
GUEST, unregistred user!
三层由淺到深讨论,欢迎高手指点,新手捧场。
下一次开课讨论时间大概是:星期一下午3点。
会议主持:烟灰缸(Aleyn)
讨论内容:
1)。如何在DLL中活用Interface(上一课没讨论完)。
2)。如何定制事务层Interface
3)。如何定制规则层Interface
三层原程序已经上传!
***********************************************
修改时间:2004-05-22
 
我是一个刚毕业的学生,对软件的热是爱让我选择的程序员,工作了才只到学校学的和实际上使用的有太多的差距,公司里用的是DELPHI,通过一个月的学习,我喜欢上了DELPHI.现在正在学习有关三层方面的知识.
希望多多赐教!!!
 
好啊!我加入
 
QQ我没有,您就在这给我们讲一段吧!。
 
今天討論的內容大概是:
(1)。建立三層之前,我們需要[red]做[/red]什麼。
(2)。建立中間時,我們需要[red]注意[/red]什麼。
(3)。中間層規則是動態連接的好還是編譯鏈入好。
開課時間:大概是下午3時左右開始。
 
分數太高了
 
洗耳恭听。
 
什么东西分数太高了?是太难还是太易了还是...?
 
三层参考贴
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2236574
 
过了下午3点了!
 
==================================================
訊息群組:我的個人群組(1005454)
==================================================
訊息類型:聊天記錄,有刪除一些
==================================================

2004-05-18 08:04:36 煙灰缸(2282902)
今天討論的內容大概是:
(1)。建立三層之前,我們需要[red]做[/red]什麼。
(2)。建立中間時,我們需要[red]注意[/red]什麼。
(3)。中間層規則是動態連接的好還是編譯鏈入好。
開課時間:大概是下午3時左右開始。
2004-05-18 14:26:56 煙灰缸(2282902)
大家有對三層感興趣的嗎,來討論討論如何?
2004-05-18 14:46:35 黑夜(13633497)
想來聽課的,不要不開啊
2004-05-18 14:56:49 Jackey(15677613)
有沒有開講? 新來的, 聽課.

2004-05-18 14:57:32 黑夜(13633497)
Jackey兄弟 沒什麼人啊!
大家去叫一些人???
2004-05-18 14:58:24 Jackey(15677613)
是啊, 怎麼只有6個人.
2004-05-18 15:00:14 煙灰缸(2282902)
呵呵,我工作好了,可以開始了。
2004-05-18 15:00:22 黑夜(13633497)
不知道這裡有多少人對三層有所認識的啊
我是一點都沒有啊
2004-05-18 15:00:45 黑夜(13633497)
我的上司跟我說我們福州用三層的都不太理想啊
2004-05-18 15:03:19 黑夜(13633497)
to 煙灰缸
不行啊,人太少了,而且對三層有認知的人肯定更是少的可憐了
2004-05-18 15:03:46 煙灰缸(2282902)
沒關系啊,會多人。
2004-05-18 15:03:47 ☆英雄海☆(66945346)
是啊,再找一些你吧
 

2004-05-18 15:03:53 q ? ?r(17427437)
還是整理成PPT吧?
2004-05-18 15:04:07 煙灰缸(2282902)
誰來整理?
2004-05-18 15:04:18 黑夜(13633497)
我已經盡力啦,找了兩個了,呵呵
2004-05-18 15:04:33 煙灰缸(2282902)
呵呵,謝了。€

2004-05-18 15:04:37 黑夜(13633497)
先討論出結果再說吧
2004-05-18 15:04:55 煙灰缸(2282902)
(1)。建立三層之前,我們需要做什麼。

2004-05-18 15:05:38 煙灰缸(2282902)
點示一下,從Client到DataServer,我們做了什麼。
2004-05-18 15:08:11 黑夜(13633497)
先看看,我對三層的認識有沒有錯誤啊!
在中間層建立各種對象,提供接口,然後表示層通過它操作數據?
2004-05-18 15:08:28 煙灰缸(2282902)
對,本質是這樣的。
2004-05-18 15:09:04 煙灰缸(2282902)
從Client端,你的數據是怎麼出去的?
2004-05-18 15:10:57 煙灰缸(2282902)
打個比方,你想找我聊天,那麼,你想用什麼方法和我聊?
2004-05-18 15:11:06 黑夜(13633497)
我連理論都很少啊,公司用的是兩層的,所以不太懂

2004-05-18 15:12:20 煙灰缸(2282902)
就那C/S來講,ADO如何更新數據?
2004-05-18 15:14:25 黑夜(13633497)
我建議取消好了,下次準備好一些再來啊???
多叫上一些人,也回去多看一些這方面的知識?
不知道有沒有打擊了大家的士氣啊???
2004-05-18 15:15:48 Jackey(15677613)
我對三層不怎麼了解,一直在用c/s.但我對三層的認識: 三層提供了一種用戶界面與數據庫之間的轉換,其中存在一些業務邏輯。這樣作的好處是 1。減少業務邏輯對後台數據庫的依賴, 2。減少前台的工作量。 3。便于分布式處理。

2004-05-18 15:16:11 Jackey(15677613)
沒人在?
2004-05-18 15:17:15 黑夜(13633497)
可是沒有人有認識啊
先報一下除了煙灰缸還有誰了解的啊???
2004-05-18 15:18:47 Jackey(15677613)
比如,在做三層前先作什麼。在作系統時都是先作規劃。比如:什麼要放在三層。
wait: ERP
2004-05-18 15:19:32 黑夜(13633497)
to 火燄
那裡可以先發表一下意見嗎?
2004-05-18 15:19:48 煙灰缸(2282902)
我們在做三層之前,都是先規畫好數據的定義。
 

2004-05-18 15:20:30 煙灰缸(2282902)
因為,數據格式可以比較容易改,但改接口就比較麻煩了。
2004-05-18 15:20:31 火燄(269850567)
我提問,
三層,目前有多少實現技術?
2004-05-18 15:20:44 煙灰缸(2282902)
指什麼呢?
2004-05-18 15:21:14 火燄(269850567)
指編程語言和開發工具
2004-05-18 15:21:22 煙灰缸(2282902)
DCOM,SCK, or SNOP
2004-05-18 15:21:25 煙灰缸(2282902)
Delphi
2004-05-18 15:22:01 煙灰缸(2282902)
我開發ERP一般只用Delphi.
2004-05-18 15:22:15 火燄(269850567)
其他語言和工具呢?
2004-05-18 15:22:22 q ? ?r(17427437)
JAVA更實用,不過在國內發展的不太好。
2004-05-18 15:22:30 黑夜(13633497)
delphi中我也只知道這麼三種連接方法
其它語言我不懂
2004-05-18 15:22:32 q ? ?r(17427437)
J2EE
2004-05-18 15:22:42 煙灰缸(2282902)
其它語言少用,工具一般是自己寫的。
2004-05-18 15:22:50 Jackey(15677613)
還是以delphi為例。否則題目又太大

2004-05-18 15:22:59 煙灰缸(2282902)
是。
2004-05-18 15:23:18 Jackey(15677613)
以delphi作的三層組件如corba可以用在java的

2004-05-18 15:23:28 煙灰缸(2282902)
其它的語言我也不懂,我誠實的說。
2004-05-18 15:23:39 火燄(269850567)
也對,那麼Delphi做三層,可以用那幾種實現技術?我也只會Delhpi
2004-05-18 15:24:01 煙灰缸(2282902)
以現在來說,用在Internet上的三層,有多少呢?
2004-05-18 15:24:22 黑夜(13633497)
就是煙灰缸所說的三種羅
2004-05-18 15:24:29 煙灰缸(2282902)
我現在只做局域網的。
2004-05-18 15:24:45 火燄(269850567)
DCOM,SCK, or SNOP?
2004-05-18 15:25:02 Jackey(15677613)
DCOM. SCK SNOP能分別簡介一下?
2004-05-18 15:25:11 煙灰缸(2282902)
其它的其實也同樣道理的,只做一種就可以了。
2004-05-18 15:25:37 煙灰缸(2282902)
DCOM設置很煩,所以我比較少用。我現在用SCK。
2004-05-18 15:25:55 火燄(269850567)
sck是什麼東東?
2004-05-18 15:25:57 煙灰缸(2282902)
所以我講的,多數以SCK為主。
2004-05-18 15:26:05 煙灰缸(2282902)
socketconnect.
2004-05-18 15:26:25 Jackey(15677613)
或以SCK或dcom中例。

2004-05-18 15:26:57 火燄(269850567)
那麼三層的功能如何劃分?
2004-05-18 15:27:01 Jackey(15677613)
以一個業務實例。比如進銷存的進倉業務作探討?
 

2004-05-18 15:27:03 煙灰缸(2282902)
大家在寫中間層時,如何定義接口。
2004-05-18 15:27:22 煙灰缸(2282902)
以我現在在做的一個項目來講好不好?
2004-05-18 15:27:30 Jackey(15677613)
ok
2004-05-18 15:27:33 火燄(269850567)
當然好啊!
2004-05-18 15:27:34 黑夜(13633497)
o
2004-05-18 15:27:39 AsleepAnger(26239965)
o
2004-05-18 15:27:41 火燄(269850567)
o
2004-05-18 15:28:19 煙灰缸(2282902)
有關原碼方面,請大家不要傳得太遠,怕XXX。。。
2004-05-18 15:28:30 AsleepAnger(26239965)
明白
2004-05-18 15:28:39 Jackey(15677613)
O
2004-05-18 15:28:41 黑夜(13633497)
我保證我自己
2004-05-18 15:29:00 火燄(269850567)
不用全部給嘛,給點關鍵的,說明技術就沒有問題了。
2004-05-18 15:29:02 煙灰缸(2282902)
我先找一下我之前寫的一個文章,請等乖。
2004-05-18 15:29:10 『藍色隨想』(94058993)
N
2004-05-18 15:29:13 AsleepAnger(26239965)
?
2004-05-18 15:29:30 煙灰缸(2282902)
打錯字了。
2004-05-18 15:29:46 煙灰缸(2282902)
http://www.delphibbs.com/keylife/iblog_show.asp?xid=3319
2004-05-18 15:30:05 煙灰缸(2282902)
這是我在大富翁裡的一個結構圖,請大家先看一下。
2004-05-18 15:30:38 Jackey(15677613)
看過. 好
2004-05-18 15:31:30 煙灰缸(2282902)
能看懂其中我的建構意圖嗎?
2004-05-18 15:32:02 黑夜(13633497)
沒經驗,一下子還真看不懂
2004-05-18 15:32:11 火燄(269850567)
慢一點,我正在閱讀
2004-05-18 15:32:16 煙灰缸(2282902)
我再找一個。
2004-05-18 15:32:32 AsleepAnger(26239965)
消化消化~~~偶晚上發表意見
2004-05-18 15:33:37 煙灰缸(2282902)
呵呵,我6點下班,晚上不在。
2004-05-18 15:34:06 Jackey(15677613)
給講一下吧
2004-05-18 15:34:07 黑夜(13633497)
我也差不多,
就沒有辦法看到啦
2004-05-18 15:34:07 煙灰缸(2282902)
http://www.delphibbs.com/keylife/iblog_show.asp?xid=3496
2004-05-18 15:34:25 AsleepAnger(26239965)
偶也是6點下班~~~現在給逼著忙呢~~~
2004-05-18 15:34:28 煙灰缸(2282902)
這是關於內存的。
2004-05-18 15:34:32 火燄(269850567)
很復雜啊!
2004-05-18 15:34:43 煙灰缸(2282902)
我會從頭講起的。
2004-05-18 15:34:49 火燄(269850567)
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1491883

2004-05-18 15:35:02 火燄(269850567)
我兩年前做的畢業設計。麻煩大俠幫我看看
2004-05-18 15:35:27 煙灰缸(2282902)
正看著。
 

2004-05-18 15:36:05 火燄(269850567)
你那個系統不會是你一個人做的吧?
2004-05-18 15:36:07 煙灰缸(2282902)
一時看不完。
2004-05-18 15:36:24 AsleepAnger(26239965)
煙灰崗做過對硬件的接口沒有?
2004-05-18 15:36:28 煙灰缸(2282902)
不,有5個人,三個人寫,1個寫HELP,1個TEST。
2004-05-18 15:36:49 煙灰缸(2282902)
純硬件?還是。。。?
2004-05-18 15:36:52 火燄(269850567)
好復雜哦!而且DLL一堆,你們怎麼調試呢?
2004-05-18 15:37:17 煙灰缸(2282902)
只要規則定好,就不復雜了。
2004-05-18 15:37:24 AsleepAnger(26239965)
一種採集數據的硬件電路版,返回16進制的字符
2004-05-18 15:37:38 煙灰缸(2282902)
寫過一種。
2004-05-18 15:37:57 Jackey(15677613)
還是講三層.

2004-05-18 15:38:00 煙灰缸(2282902)
硬件和軟件都是我在做。
2004-05-18 15:38:09 火燄(269850567)
太厲害了!佩服!
2004-05-18 15:38:18 煙灰缸(2282902)
還是言回來吧。
2004-05-18 15:38:25 火燄(269850567)
軟硬通吃!佩服!
2004-05-18 15:38:27 AsleepAnger(26239965)
硬件的接口對話你覺得怎麼樣?
2004-05-18 15:38:44 AsleepAnger(26239965)
16進制的轉換是不是很麻煩?
2004-05-18 15:38:49 煙灰缸(2282902)
過獎了G
2004-05-18 15:38:54 黑夜(13633497)
煙灰缸還是講你的那個例子吧
2004-05-18 15:38:57 煙灰缸(2282902)
好。
2004-05-18 15:39:02 火燄(269850567)
對的。
2004-05-18 15:39:15 AsleepAnger(26239965)
好~我打攪大家了
2004-05-18 15:39:21 煙灰缸(2282902)
請大家打個那個PDF文件。
2004-05-18 15:39:36 火燄(269850567)
好的
2004-05-18 15:40:11 煙灰缸(2282902)
一些先期動作要先做一下。
2004-05-18 15:40:25 黑夜(13633497)
什麼動作???
2004-05-18 15:40:48 煙灰缸(2282902)
就是等一下要講的東西。
2004-05-18 15:42:16 煙灰缸(2282902)
PDF文檔的右上方的一個例子,請大家留意一下。
2004-05-18 15:43:09 Jackey(15677613)
ole.action:=102.....?
2004-05-18 15:43:42 黑夜(13633497)
可以認為ole是一個記錄嗎?
2004-05-18 15:43:53 煙灰缸(2282902)
我的本意是,我不允許程序修改接口,所以只能在其它方面做文章。
2004-05-18 15:44:13 煙灰缸(2282902)
Ole不是記錄,是一個Object.
2004-05-18 15:44:21 火燄(269850567)
ole是什麼?
2004-05-18 15:44:30 火燄(269850567)
param是什麼?
2004-05-18 15:44:53 煙灰缸(2282902)
OLE的作用是將CLIENT的數據轉成OleVariant.
2004-05-18 15:45:13 黑夜(13633497)
忽略了還有一個GetData函數
2004-05-18 15:45:20 Jackey(15677613)
不允許程序修改接口?(clien程式還是?)
2004-05-18 15:45:34 煙灰缸(2282902)
Ole.Action=102的意思是,讓Midas執行102規則。
2004-05-18 15:45:56 煙灰缸(2282902)
是中間層的接口。
2004-05-18 15:45:59 火燄(269850567)
對象怎麼用sck傳送?
2004-05-18 15:46:40 煙灰缸(2282902)
不是傳Object,是傳OleVariant.
2004-05-18 15:46:50 煙灰缸(2282902)
請參看上面的。
2004-05-18 15:46:54 火燄(269850567)
但你說ole是對象啊。
2004-05-18 15:47:05 煙灰缸(2282902)
Ole是對象。
2004-05-18 15:47:32 火燄(269850567)
那中間層怎麼接收這個對象呢?
2004-05-18 15:47:39 黑夜(13633497)
將對象轉換為OleVariant.
2004-05-18 15:47:49 煙灰缸(2282902)
我的意思是,數據從Client出去之前,先經過Ole轉成OleVariant.
2004-05-18 15:48:20 黑夜(13633497)
在中間層再將它轉換為對象???
2004-05-18 15:48:25 Jackey(15677613)
也就是說,數據轉換在client已完成?
2004-05-18 15:48:32 煙灰缸(2282902)
是。
2004-05-18 15:48:44 煙灰缸(2282902)
中間層不用把它轉成對象。
2004-05-18 15:49:14 煙灰缸(2282902)
而是用中間層的Ole去接受它。
2004-05-18 15:49:15 Jackey(15677613)
中間層只處理接到的OleVariant.
2004-05-18 15:49:25 煙灰缸(2282902)
對,Jackey講對了。
2004-05-18 15:49:55 煙灰缸(2282902)
這樣的話,任何類型的Param都可以處理了。
2004-05-18 15:50:05 火燄(269850567)
多個參數的時候,sck是怎麼傳送的?
2004-05-18 15:50:32 煙灰缸(2282902)
就是用OLE來轉換啊,它的Param就是這個功能。
2004-05-18 15:51:28 Jackey(15677613)
sck只傳送OleVariant. 至于OleVariant是什麼不用關心,它只提供了一個通道. 是否?
2004-05-18 15:51:43 火燄(269850567)
中間層接收到數據後,需要分解參數麼?
2004-05-18 15:52:08 煙灰缸(2282902)
是。
2004-05-18 15:52:38 煙灰缸(2282902)
讓OLE分解就可以了。
2004-05-18 15:53:02 煙灰缸(2282902)
下屬動態規則不用去關心這些。
 
2004-05-18 15:54:41 黑夜(13633497)
繼續啊!
2004-05-18 15:55:06 煙灰缸(2282902)
還有一個前期要想的是
2004-05-18 15:55:34 煙灰缸(2282902)
如果Client正在運行中,你用更新規則,怎麼辦?
2004-05-18 15:56:17 煙灰缸(2282902)
請大家先討論,看看意思是不是差不多的。
2004-05-18 15:57:11 煙灰缸(2282902)
Jackey,你先來好嗎?
2004-05-18 15:57:44 Jackey(15677613)
加個異常處理? 在client檢測Msg?
2004-05-18 15:58:00 煙灰缸(2282902)
黑夜呢?
2004-05-18 15:58:26 黑夜(13633497)
慚愧,不太懂,
2004-05-18 15:58:40 火燄(269850567)
我覺得應該運行的時候鎖住。運行完畢再更新
2004-05-18 16:00:08 煙灰缸(2282902)
意思差不多,但我的做法是,規則更新時,規則管理器通知服務層,服務層鎖住規則
2004-05-18 16:00:08 Jackey(15677613)
如果這樣,Msg的生成在哪? 在接口中作個通用的處理方式?
2004-05-18 16:00:56 煙灰缸(2282902)
一旦CLIENT訪問此規則時,服務層通知CLIENT,規則正在更新。
2004-05-18 16:01:04 火燄(269850567)
你鎖規則?那正好有用規則,你鎖了怎麼辦?
2004-05-18 16:01:16 Jackey(15677613)
對。 規則管理層。類同于進程工廠的處理方式

2004-05-18 16:01:42 黑夜(13633497)
那就先通知消息,正在訪問的繼續,後面的進不來,可以嗎?
2004-05-18 16:01:59 煙灰缸(2282902)
是,正是如此。
2004-05-18 16:02:01 Jackey(15677613)
to fire:
報錯,通用用戶此次操作作廢

2004-05-18 16:02:43 煙灰缸(2282902)
會提示用戶稍等。
2004-05-18 16:02:53 煙灰缸(2282902)
另外
2004-05-18 16:02:58 黑夜(13633497)
那萬一正在訪問的持續了很長時間呢?怎麼辦
2004-05-18 16:03:25 煙灰缸(2282902)
這個就比較難了。
2004-05-18 16:03:35 Jackey(15677613)
可否採用sqlserver的鎖的處理。強制加鎖?
2004-05-18 16:03:51 煙灰缸(2282902)
這樣可能會數據出錯。
2004-05-18 16:04:18 黑夜(13633497)
那就是假設正常使用的都不會持續太長時間?
有時候實際情況不會出現就不用他考慮了吧??
2004-05-18 16:04:20 火燄(269850567)
同步也許是最難處理的
2004-05-18 16:04:48 煙灰缸(2282902)
一般,規則更新都是在試用期,不能在產品正式用時更新主要規則。
2004-05-18 16:05:34 Jackey(15677613)
還有就是定義第統時將規則細化。減少運行時間。
2004-05-18 16:06:07 黑夜(13633497)
那按你這麼說不是不用考慮這個問題了,
我們公司的就是直接停了,然後更新,當然我們只是用兩層
2004-05-18 16:06:16 火燄(269850567)
要工作去了。各位大俠再見!
2004-05-18 16:06:24 Jackey(15677613)
還是繼續。
2004-05-18 16:06:49 煙灰缸(2282902)
我的做法是,更新時,規則管理器訪問服務層,並通知預鎖定,服務層查看有幾個進程正在用此規則,並鎖定,然後。
2004-05-18 16:07:11 黑夜(13633497)
那只剩下兩位大俠和我這個菜鳥啦
 
2004-05-18 16:07:18 斜陽(249208513)
下午好
2004-05-18 16:07:27 煙灰缸(2282902)
下午好。
2004-05-18 16:08:02 斜陽(249208513)
剛剛加進來,大家都在談什麼啊?
2004-05-18 16:08:08 煙灰缸(2282902)
前面操作可以繼續,後面的就鎖住了。
2004-05-18 16:08:13 Jackey(15677613)
三層

2004-05-18 16:08:42 斜陽(249208513)
還是先聽聽講吧
2004-05-18 16:08:58 煙灰缸(2282902)
如果你直接停了服務器,那它和用戶的連接就斷了,這樣不太好。
2004-05-18 16:09:21 Jackey(15677613)
對。
2004-05-18 16:09:47 煙灰缸(2282902)
會導致CLIENT端RPC服務器找不到。
2004-05-18 16:10:13 煙灰缸(2282902)
黑夜,別隱身好不好。
2004-05-18 16:10:29 黑夜(13633497)
可是在試用期間不用這麼考慮吧?
感覺有種多餘,
2004-05-18 16:10:32 黑夜(13633497)
為什麼?
2004-05-18 16:10:39 Jackey(15677613)
而且會導致數據不安全
2004-05-18 16:11:02 煙灰缸(2282902)
可是,試用期也會有用戶在工作啊。
2004-05-18 16:11:03 黑夜(13633497)
不隱身萬一被我上司看到不太好啊
2004-05-18 16:11:20 煙灰缸(2282902)
N
2004-05-18 16:11:29 Jackey(15677613)
要考慮,因為有時用戶在用的系統會更規則的
2004-05-18 16:11:56 Jackey(15677613)
有時用了一兩年的系統都會改,因為工作流程變了。
2004-05-18 16:12:08 黑夜(13633497)
想想也對,
我都沒有接觸過大的系統,所以,呵呵
2004-05-18 16:12:34 煙灰缸(2282902)
只是試用期間,用戶不多,單個用戶長時間操用一個規則不會太久。
2004-05-18 16:12:46 黑夜(13633497)
我們的差不多半個月就根據客戶修改一點點了,聽起來誇張吧
2004-05-18 16:13:05 Jackey(15677613)
O
2004-05-18 16:13:27 Jackey(15677613)
continue
2004-05-18 16:13:38 黑夜(13633497)
這個問題可以過了,下一個吧
2004-05-18 16:13:40 煙灰缸(2282902)
那大家又是如何做的呢?
2004-05-18 16:14:35 Jackey(15677613)
你是說如何實現這個規則管理器?
2004-05-18 16:16:05 煙灰缸(2282902)
這個寫起來簡單,只要把思路想通就可以了。
2004-05-18 16:16:28 煙灰缸(2282902)
Jackey 是如何更新規則的?
2004-05-18 16:17:07 Jackey(15677613)
我一直在用c.s 的。
2004-05-18 16:17:31 煙灰缸(2282902)
規則都在CLIENT裡?
2004-05-18 16:17:50 Jackey(15677613)
在c.s 我是用一個類工廠的概來實現的。
規則在sql 中的store proc.
2004-05-18 16:17:53 黑夜(13633497)
我也是,更新規則一般就是更新存儲過程
2004-05-18 16:18:02 煙灰缸(2282902)
(2)。建立中間時,我們需要注意什麼
2004-05-18 16:18:18 煙灰缸(2282902)
這樣啊,和我沒用MIDAS之前一樣的。
2004-05-18 16:19:01 煙灰缸(2282902)
還是先大家先來吧。
2004-05-18 16:19:21 黑夜(13633497)
先問一個,一般來說有多少以上用戶的時候才比較需要用三層呢?
2004-05-18 16:19:37 煙灰缸(2282902)
沒要界定。
2004-05-18 16:19:47 煙灰缸(2282902)
沒有界定。
2004-05-18 16:20:08 Jackey(15677613)
不在用戶多少.而在業務功能。還有對後台有要求是否靈活。
2004-05-18 16:20:51 煙灰缸(2282902)
我和Jackey想法一樣。
2004-05-18 16:22:20 黑夜(13633497)
Jackey 有三層實戰經驗嗎?不一定要實際項目,自己學習編寫什麼的都算啊
2004-05-18 16:22:22 Jackey(15677613)
還是剛才的問題。 建立中間時,我們需要注意什麼
2004-05-18 16:22:41 煙灰缸(2282902)
我先拋出一個問題點,ADO的ConnectionSring在哪裡定?
2004-05-18 16:23:26 Jackey(15677613)
N年前用過。(delphi5)對李維的書抄過。
 
2004-05-18 16:23:49 Jackey(15677613)
adoconection.
2004-05-18 16:24:27 黑夜(13633497)

2004-05-18 16:24:49 煙灰缸(2282902)
別客氣了,Jackey肯定是個高手。
2004-05-18 16:25:22 Jackey(15677613)
cs還行,真沒用過三層.
2004-05-18 16:25:31 黑夜(13633497)
我也這麼認為,兩位都是高手
對著我這個菜鳥,辛苦了
2004-05-18 16:25:57 煙灰缸(2282902)
CS 網絡遊戲N
2004-05-18 16:26:12 煙灰缸(2282902)
別這麼說,大家一起進步嘛。
2004-05-18 16:26:13 黑夜(13633497)
但是在大腦中已經有那麼一種意識了,
題外話:打cs嗎?
2004-05-18 16:26:25 Jackey(15677613)
O 。
2004-05-18 16:26:27 煙灰缸(2282902)
我很少玩遊戲。
2004-05-18 16:26:32 Jackey(15677613)

2004-05-18 16:26:58 黑夜(13633497)
工作之後的確都少啦,我剛參加做delphi的工作不久
2004-05-18 16:27:13 煙灰缸(2282902)
剛才的話題。
2004-05-18 16:27:28 Jackey(15677613)
continue.
2004-05-18 16:27:46 煙灰缸(2282902)
ConnectionString大家是寫在程序中,還是INI中?
2004-05-18 16:28:16 黑夜(13633497)
程序中?
2004-05-18 16:28:17 煙灰缸(2282902)
指中間層來講。
2004-05-18 16:28:19 Jackey(15677613)
加密的ini
2004-05-18 16:29:12 煙灰缸(2282902)
如果,客戶端有用到多外賬套的話,如何定?
2004-05-18 16:30:12 黑夜(13633497)
在數據庫中存儲,然後讀出
2004-05-18 16:30:21 煙灰缸(2282902)
斜陽在不在,一起聊一聊吧。
2004-05-18 16:30:42 煙灰缸(2282902)
Jackey的做法呢?
2004-05-18 16:30:52 Jackey(15677613)
多賬套另有設定,存在數據表中,但是多賬套的第一次聯結還是在ini
2004-05-18 16:31:11 煙灰缸(2282902)
呵呵,所見略同也。
2004-05-18 16:31:57 黑夜(13633497)
我的第一次連接是直接在程序中,多賬套就從數據庫中讀取
2004-05-18 16:32:26 煙灰缸(2282902)
我的做法是,服務層只做連接,賬套由CLIENT選定並傳回服務層。
2004-05-18 16:33:11 Jackey(15677613)
wait. 我想一下.
2004-05-18 16:33:52 黑夜(13633497)
那就是說有存在多個用戶同時使用,可是使用的是不同的賬套?
我現在見到的都是一年一個,去年的結了,然後開啟今年的
2004-05-18 16:34:41 煙灰缸(2282902)
兩位可否幫個忙,有空的時候幫忙UP一下大富翁中那個關於這個群組的貼子。
2004-05-18 16:34:53 Jackey(15677613)
ok
2004-05-18 16:34:56 煙灰缸(2282902)
讓更多的人來聊一聊。
2004-05-18 16:35:09 煙灰缸(2282902)
多人多個點。
2004-05-18 16:35:43 黑夜(13633497)

的確,人太少了,就你們兩個人在那裡講實在不行啊
2004-05-18 16:35:58 煙灰缸(2282902)
答黑夜:是同一個中間層,可用使用不同賬套。
2004-05-18 16:36:49 Jackey(15677613)
實現方法?
2004-05-18 16:37:11 煙灰缸(2282902)
我用不同的DATABASE,你呢?
2004-05-18 16:37:18 煙灰缸(2282902)
我用不同的DATABASE,你呢?
2004-05-18 16:37:57 煙灰缸(2282902)
黑夜能不能幫個忙?
2004-05-18 16:38:03 黑夜(13633497)

2004-05-18 16:38:36 Jackey(15677613)
能否具體, 我沒有用過此方法.
2004-05-18 16:38:52 煙灰缸(2282902)
這次討論結束後,你能不能幫我把今天有關這個話題的內容貼到那個貼子裡?
2004-05-18 16:39:07 煙灰缸(2282902)
能整理一下最好。
2004-05-18 16:39:23 黑夜(13633497)
盡力吧
2004-05-18 16:39:47 Jackey(15677613)
我的思路一直在c.s 中打轉.O
2004-05-18 16:39:55 黑夜(13633497)
可是我找不到那個帖子的地址了,
2004-05-18 16:39:55 煙灰缸(2282902)
客戶端登錄時,必須先選擇賬套。
2004-05-18 16:40:19 煙灰缸(2282902)
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2614850
2004-05-18 16:41:12 煙灰缸(2282902)
至於賬套的選擇,可以在一個特定的Database中設定。
2004-05-18 16:41:22 Jackey(15677613)
 

2004-05-18 16:42:04 煙灰缸(2282902)
實際了,Client選擇賬套,Midas選擇Database.
2004-05-18 16:43:27 煙灰缸(2282902)
還有一個,用戶打開個多個Client,不同賬套,會不會有影向?
2004-05-18 16:44:12 Jackey(15677613)
在同一個前台程式應不能打開多個賬套
2004-05-18 16:44:39 Jackey(15677613)
但如果用戶開了多個程式,就沒有問題

2004-05-18 16:44:43 煙灰缸(2282902)
如果客戶是要這麼做呢?
2004-05-18 16:45:08 斜陽(249208513)
討論的好激烈啊,我也來摻和摻和
2004-05-18 16:45:23 煙灰缸(2282902)
我也只能做到,讓用戶打開不同程序。
2004-05-18 16:45:30 煙灰缸(2282902)
我也只能做到,讓用戶打開不同程序。
2004-05-18 16:45:35 煙灰缸(2282902)
多個程序。
2004-05-18 16:45:57 煙灰缸(2282902)
歡迎。?
2004-05-18 16:46:17 斜陽(249208513)
打開的多少取決于你服務端和客戶端的規則
2004-05-18 16:46:34 Jackey(15677613)
可以不考慮。因為在同一個程式中開多賬套也會引起用戶使用上的混亂
2004-05-18 16:46:59 煙灰缸(2282902)
並不限定他打用幾個。
2004-05-18 16:47:16 斜陽(249208513)
如果你的服務端保存了客戶端的相關信息,比如說客戶端記錄位置等內容,那麼注定你的應用程序不能服務太多的人
2004-05-18 16:47:59 煙灰缸(2282902)
客戶端記錄位置等內容是指什麼呢?
2004-05-18 16:48:03 斜陽(249208513)
如果你所有的工作都是一次交互就結束,那麼你怎麼打開都沒有問題
2004-05-18 16:48:49 煙灰缸(2282902)
不同的進程,記錄位置不會相互幹擾的。
2004-05-18 16:48:59 煙灰缸(2282902)
服務層也一樣。
2004-05-18 16:49:56 斜陽(249208513)
你你就會是有多少個客戶端連著你,你就要開啟多少個進程了
2004-05-18 16:50:03 Jackey(15677613)
對。
繼續。對于多賬套的這種處理法我有空試一下.
2004-05-18 16:50:37 斜陽(249208513)
服務器能處理的線程數量可不是無限制的噢
2004-05-18 16:50:42 煙灰缸(2282902)
服務程序就一個,線程就看多少用戶了。
2004-05-18 16:51:16 煙灰缸(2282902)
我也有考 這一點,所以正在想辦法改進。
2004-05-18 16:51:21 斜陽(249208513)
以前不知道這個,結果作的東東就能連10幾個用戶,再多服務器的性能就會直線下降
2004-05-18 16:51:54 煙灰缸(2282902)
你是不是把所有的數據都放在DataModule了?
2004-05-18 16:53:16 斜陽(249208513)
沒太弄明白你說的
2004-05-18 16:53:29 煙灰缸(2282902)
現在我的程序能支持23個用戶同時在線,再多就沒有試用。
2004-05-18 16:54:10 煙灰缸(2282902)
也就是說,你是不是把所有的ADO控件和數據和其它都放在服務層的DataForm裡了。
2004-05-18 16:56:22 斜陽(249208513)
我以前採用的方式是來開了一個類似緩衝池的東東,先創建一些同數據庫的連接,然後來一個用一個,用完了馬上方入池中,如果池中的都用完了,就動態加大這個池能容納的最多的連接
2004-05-18 16:57:38 斜陽(249208513)
結合中間件技術,最多的時候連接了一百多個客戶端(測試狀態下)服務器還是正常地運行著
2004-05-18 16:58:16 煙灰缸(2282902)
我的做法是,所有的數據控件都動態生成,用完就Free.
2004-05-18 16:58:58 煙灰缸(2282902)
我下次試一個運行幾百個用戶。
2004-05-18 16:59:44 斜陽(249208513)
動態創建的方式在客戶端請求連接的時候會慢一些
2004-05-18 17:00:15 煙灰缸(2282902)
客戶端只要連接一次而已。
2004-05-18 17:00:56 斜陽(249208513)
我現在有點搞不清楚你的三層都是怎麼劃分的了
2004-05-18 17:02:01 煙灰缸(2282902)
你能講講你是如何分的嗎?
2004-05-18 17:02:55 斜陽(249208513)
數據服務器、業務邏輯層和客戶的界面表示層
2004-05-18 17:03:12 煙灰缸(2282902)
我也一樣。
 

Similar threads

I
回复
0
查看
620
import
I
I
回复
0
查看
634
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部