国产美女一级毛片精品久久久|婷婷影院在线综合免费视频|最新国产午夜精品视频成人|久久精品九九无码免费

三層最重要的也是“抽象”

來源:北大青鳥飛迅校區(qū)|發(fā)布時間:2013-04-30 16:42:52

  只用class的,那叫做“基于對象”,比如當初的vb6.0;只是分了三個項目,把以前寫在一起的代碼分成了三份,所謂的業(yè)務邏輯層就是一個傳聲筒,這一類自稱三層的,在我看來都是“模仿三層”,甚至是“偽三層”。

  面向對象,就是要先考慮“對象”,考慮對象的時候完全不用去考慮數(shù)據(jù)庫結構是什么樣子的,這個對吧?ORM講究的是現(xiàn)有O后有R,然后再去映射。

代碼

  寫到這里,突然想到一個觀點:其實O和R是同時有的,他們都是根據(jù)項目需求來分別設計的,互不影響!都設計好了之后再去考慮如何映射。

  您可能會說,都分別設計,那么設計之后還能對應上嗎?關于這個問題,本來對象和關系型數(shù)據(jù)庫的思路就是完全相反的。

  面向對象,考慮的是對象,抽象,個體。要把眾多的對象抽象出來,要把眾多的屬性、方法整合起來,要把各個類找到適合的關系。

  關系型數(shù)據(jù)庫,考慮的是劃分,做到數(shù)據(jù)盡量沒有冗余,那么多的范式要達到的效果是什么?就是要盡量的分表,分成多個表,每個表只表達一種意思,然后在“關系”(關聯(lián))在一起,以達到避免數(shù)據(jù)冗余的目的。

  面向對象是根本就不去考慮數(shù)據(jù)冗余的問題的,他考慮的是“一”。一個對象的結構,和其他對象的關系(繼承、接口、委托、組合、聚合等)。他不會考慮一萬個實例會如何,至少不會把這個當成重點來考慮。

  關系型數(shù)據(jù)庫考慮的是“多”,多條數(shù)據(jù),一萬、十萬、百萬條記錄,要如何處理。多條數(shù)據(jù)如何處理的問題。

  好像有點跑題了,趕緊回來。

  上一篇,寫的那種“分開”方式,為了三層而三層的做法,我覺得就是偽三層,所以請注意,我說的是偽三層不好,為了三層而三層是不對的。我覺得我上一篇寫代碼的方式根本就不是真正的三層,所以請大家不要誤會,我并沒有說真正的三層不好,我也不是反對面向對象。

  這一篇我就是想說一下,我使用面向對象的方式。也許我的思路和您的理解不大一致,不過沒關系嘛,拿出來大家一起討論嘛。

  網(wǎng)站,從業(yè)務方面(就是客戶的需求)可能的分類形式,比如博客園

1.jpg

  一開始博客園并沒有這么多的模塊,后來慢慢加上去了。那么我們是不是要按照這些分類來設計類呢?一個模塊一個類或者若干個類?如果簡單的這么做的話,那么就是類爆炸!而且沒有進行抽象。(我不知道博客園是怎么做的,這里只是猜測,從技術角度上的猜測。我只是那大家熟悉的來舉個例子,請不要聯(lián)想,謝謝。)

  我作網(wǎng)站的話,會從另一個角度來思考 —— 從頁面的角度來分類

2.jpg

  可能您看著有點暈,這都什么呀,亂七八糟的,先不要著急,帶我慢慢道來。

上一篇:深入理解.Net平臺機制與性能影響
下一篇:.NET使用無Cookie的表單認證票據(jù)

熱門話題

招生熱線: 4008-0731-86 / 0731-82186801

學校地址: 長沙市天心區(qū)團結路6號

Copyright © 2006 | 湖南大計信息科技有限公司 版權所有

湘ICP備14017520號-3

關注我們
在線咨詢
嘿,我來幫您!
新昌县| 富宁县| 札达县| 新干县| 昌平区| 买车| 彩票| 元阳县| 唐山市| 阜平县| 合水县| 镇远县| 延吉市| 南丰县| 门头沟区| 香港 | 清徐县| 定远县| 大新县| 沁水县| 渭南市| 广德县| 桃源县| 云阳县| 两当县| 双柏县| 博爱县| 满洲里市| 台安县| 林周县| 莱西市| 巍山| 呼玛县| 图片| 吐鲁番市| 香港 | 武穴市| 买车| 遂宁市| 都匀市| 磐安县|