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

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

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

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

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

代碼

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

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

  面向?qū)ο,考慮的是對(duì)象,抽象,個(gè)體。要把眾多的對(duì)象抽象出來,要把眾多的屬性、方法整合起來,要把各個(gè)類找到適合的關(guān)系。

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

  面向?qū)ο笫歉揪筒蝗タ紤]數(shù)據(jù)冗余的問題的,他考慮的是“一”。一個(gè)對(duì)象的結(jié)構(gòu),和其他對(duì)象的關(guān)系(繼承、接口、委托、組合、聚合等)。他不會(huì)考慮一萬個(gè)實(shí)例會(huì)如何,至少不會(huì)把這個(gè)當(dāng)成重點(diǎn)來考慮。

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

  好像有點(diǎn)跑題了,趕緊回來。

  上一篇,寫的那種“分開”方式,為了三層而三層的做法,我覺得就是偽三層,所以請(qǐng)注意,我說的是偽三層不好,為了三層而三層是不對(duì)的。我覺得我上一篇寫代碼的方式根本就不是真正的三層,所以請(qǐng)大家不要誤會(huì),我并沒有說真正的三層不好,我也不是反對(duì)面向?qū)ο蟆?/p>

  這一篇我就是想說一下,我使用面向?qū)ο蟮姆绞。也許我的思路和您的理解不大一致,不過沒關(guān)系嘛,拿出來大家一起討論嘛。

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

1.jpg

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

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

2.jpg

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

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

熱門話題

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

學(xué)校地址: 長(zhǎng)沙市天心區(qū)團(tuán)結(jié)路6號(hào)

Copyright © 2006 | 湖南大計(jì)信息科技有限公司 版權(quán)所有

湘ICP備14017520號(hào)-3

關(guān)注我們
在線咨詢
嘿,我來幫您!