kukooBlog

          look to the master, follow the master, walk with the master, see through the master, become the master.

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            213 隨筆 :: 0 文章 :: 285 評論 :: 0 Trackbacks

          今天在閱讀Martin Fowler的《Patterns of Enterprise Application Architecture》時,終于讓我``澄清"了tier和layer的關系。 Martin的原話是:

          ``When people discuss layering, there's often some confusion over the terms layer and tier. Often the two are used as synonyms, but most people see tier as implying a physical separation. Client-server systems are often described as two-tier systems, and the separation is physical: The client is a desktop and the server is a server. I use layer to stress that you don't have to run the layers on different machines. A distinct layer of domain logic often runs on either a desktop or the database server. In this situation you have two nodes but three distinct layers. With a local database I can run all three layers on a single laptop, but there will still be three distinct layers.

          我們平時一直說``多層"結構,常常混淆著使用tier或者layer這個詞( N-tier或者N-layer一般是摻和著用的),Matin則非常清楚的區分了這兩個詞的用法: tier更多的是指物理上的層次關系,比如說Client/Server結構,是two-tier的,因為客戶端在桌面機上,服務器則在遠端的數據庫服務器上。 layer則更多的指邏輯上的層,我們通常說的Java EE,應該是N-layer的,因為從邏輯上,Java EE里面有表現層,業務邏輯層和數據永久層,在物理上,這三層可以在不同的tier上(表現層在PC上,業務邏輯層在應用服務器上,數據永久層則在數據庫服務器上),也可以在一個tier上,比如Martin說的,如果把數據庫,應用服務器和瀏覽器都裝在一臺筆記本電腦上,那么,3-layer就是在1-tier上了。

          因此,當我們以后談論Java EE的多層體系時,應該更精確的使用layer這個詞。

          【關于Martin Fowler】
          http://en.wikipedia.org/wiki/Martin_Fowler
          http://martinfowler.com/

          posted on 2006-08-31 15:20 kukooBlog 閱讀(2324) 評論(0)  編輯  收藏 所屬分類: Others
          主站蜘蛛池模板: 安龙县| 东兴市| 奉新县| 新源县| 清丰县| 吉安县| 教育| 沂水县| 汾阳市| 扶绥县| 峨山| 忻城县| 永川市| 郸城县| 隆林| 三河市| 铁岭市| 黑龙江省| 邹平县| 达日县| 东丽区| 安龙县| 佛冈县| 莱西市| 明星| 铜梁县| 南京市| 安新县| 揭西县| 灵丘县| 都匀市| 义乌市| 禄丰县| 神池县| 汝南县| 道孚县| 白沙| 军事| 安图县| 金华市| 绍兴县|