<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的Blog我做主^_^

    走向一條通往JAVA的不歸路...

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      64 隨筆 :: 68 文章 :: 77 評(píng)論 :: 0 Trackbacks
    自己感覺(jué)不錯(cuò)的一篇文章,粘過(guò)來(lái)與看到的人共享<來(lái)自J道>,也算為J道做點(diǎn)貢獻(xiàn)吧,呵呵
    hlayy

    發(fā)表文章: 45
    注冊(cè)時(shí)間: 2006年08月03日 11:29

    誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年09月02日 22:27 回復(fù)
    請(qǐng)大家談?wù)?,拿到這樣一個(gè)系統(tǒng),是怎么進(jìn)行分析和設(shè)計(jì)的?怎么處理類(lèi)與類(lèi)之間的層次,和通信。

    比如把新聞發(fā)布系統(tǒng)分為話(huà)題:注冊(cè)登陸、新聞發(fā)布、權(quán)限管理。

    在“注冊(cè)登陸”系統(tǒng)中怎么分析?其中有表單類(lèi),那么新填寫(xiě)的注冊(cè)、已經(jīng)填寫(xiě)的注冊(cè)、已經(jīng)履行的注冊(cè),這些是當(dāng)成表單類(lèi)的子類(lèi)還是表單類(lèi)的對(duì)象,該怎么處理和設(shè)計(jì)?

    hlayy

    發(fā)表文章: 45
    注冊(cè)時(shí)間: 2006年08月03日 11:29

    Re: 誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年09月02日 22:56 回復(fù)
    按照面向?qū)ο蠓治?,其過(guò)程應(yīng)該是對(duì)象1:未填寫(xiě)的注冊(cè)表與對(duì)象2:填寫(xiě)后的注冊(cè)表進(jìn)行交互

    但是實(shí)際上,他們并沒(méi)有通過(guò)對(duì)象間消息的傳遞,而更多的通過(guò)在注冊(cè)表類(lèi)中增加了一個(gè)“填寫(xiě)”

    的方法完成?這樣做會(huì)不會(huì)給系統(tǒng)整體上的架構(gòu)增加復(fù)雜的成分?

    我們一般只做如下設(shè)計(jì):

    注冊(cè)表類(lèi)

    屬性:字段

    方法:新建,填寫(xiě),刪除,修改,添加,撤消


    NEW 一個(gè)對(duì)象,然后它就是一張注冊(cè)表

    NEW 一個(gè)對(duì)象,然后它并不是一張未填寫(xiě)的注冊(cè)表,雖然未填寫(xiě)的注冊(cè)表是它的子集

    注冊(cè)表和為填寫(xiě)的注冊(cè)表都屬于注冊(cè)表類(lèi),但是一個(gè)NEW,卻不會(huì)出現(xiàn)兩種對(duì)象

    男人和女人,都屬于人類(lèi),但卻不能直接從人類(lèi)進(jìn)行對(duì)象的實(shí)例化?

    人類(lèi)的一個(gè)對(duì)象實(shí)例是人,它NEW不出男人或者女人,只有在人類(lèi)下面細(xì)分為男人類(lèi)、女人類(lèi),再NEW才會(huì)出現(xiàn)。

    這些東西說(shuō)明了什么,還是你們采用了更科學(xué)的方法呢?

    hlayy

    發(fā)表文章: 45
    注冊(cè)時(shí)間: 2006年08月03日 11:29

    Re: 誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年09月02日 23:02 回復(fù)
    我只是把這問(wèn)題提提,討論討論,雖然我知道把“注冊(cè)類(lèi)”做為一個(gè)整體而不分的那么清楚,設(shè)計(jì)起來(lái),其實(shí)更簡(jiǎn)單。

    junglesong

    發(fā)表文章: 36
    注冊(cè)時(shí)間: 2006年06月07日 14:05

    Re: 誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年09月04日 11:39 回復(fù)
    僅僅是新聞發(fā)布不如采用新浪的方式-動(dòng)態(tài)生成靜態(tài)頁(yè)面.

    banq

    發(fā)表文章: 7507
    注冊(cè)時(shí)間: 2002年08月03日 17:08

    Re: 誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年09月04日 12:07 回復(fù)
    >注冊(cè)登陸、新聞發(fā)布、權(quán)限管理

    “注冊(cè)登陸和權(quán)限管理”已經(jīng)有通用解決方案,當(dāng)然,復(fù)雜的數(shù)據(jù)相關(guān)權(quán)限ACL需要在業(yè)務(wù)分析中提及。

    下面就是分析“新聞發(fā)布”,這個(gè)我已經(jīng)在JdonFramework實(shí)現(xiàn)案例中提及,大概模型類(lèi)圖如下:

    hlayy

    發(fā)表文章: 45
    注冊(cè)時(shí)間: 2006年08月03日 11:29

    Re: 誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年09月05日 21:50 回復(fù)
    以前自己也做過(guò)一個(gè)生成靜態(tài)頁(yè)面的新聞發(fā)布,我總覺(jué)得自己學(xué)的程序在架構(gòu)上很混亂,所以想看看你們是怎么架構(gòu)的。BANQ給的那個(gè)圖,我和自己的設(shè)計(jì)比了一下。我是個(gè)初學(xué)者,我以前的設(shè)計(jì)是把“新聞”當(dāng)作一個(gè)類(lèi),在BANQ的設(shè)計(jì)中,關(guān)聯(lián)了兩個(gè)更細(xì)的類(lèi),比如其中有一個(gè)是新聞?lì)愋皖?lèi)。我想他這個(gè)應(yīng)該是把變化的東西分離了出來(lái)吧?

    順便問(wèn)一下“面向?qū)ο蠓治觥钡姆椒?。使用UML進(jìn)行統(tǒng)一建模,可是UML是建模的語(yǔ)言,建模的過(guò)程有什么方法呢?在J2EE系統(tǒng)中,是不是把系統(tǒng)分N層次,然后找出每層中的類(lèi)和對(duì)象并建模?在別的系統(tǒng)中呢?還有沒(méi)有什么方法,有什么相關(guān)的書(shū)籍沒(méi)?

    banq

    發(fā)表文章: 7507
    注冊(cè)時(shí)間: 2002年08月03日 17:08

    Re: 誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年09月06日 11:44 回復(fù)
    建?,F(xiàn)在采取Evans DDD領(lǐng)域建模設(shè)計(jì),領(lǐng)域建模DDD屬于XP方式,至于RUP建模,我覺(jué)得恐怕遲早會(huì)淘汰吧,或者說(shuō)應(yīng)用范疇越來(lái)越小。

    hlayy

    發(fā)表文章: 45
    注冊(cè)時(shí)間: 2006年08月03日 11:29

    Re: 誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年09月06日 13:40 回復(fù)
    果然被淘汰了,和我想的差不多,原因是我覺(jué)得它太復(fù)雜了,我喜歡那種一看上去就清晰簡(jiǎn)單的東西,而且要容易理解。一個(gè)好的架構(gòu)應(yīng)該可以抽象成現(xiàn)實(shí)生活中有的“東西”,這樣理解起來(lái)就容易多了。

    我學(xué)“面向?qū)ο笤O(shè)計(jì)”的時(shí)候,發(fā)現(xiàn)一個(gè)問(wèn)題,那就是對(duì)象的“方法”問(wèn)題,比如對(duì)象要是人的話(huà),他有一個(gè)“提交”,或者是“檢查”的方法,那是很容易理解的。但是比如有個(gè)“表單類(lèi)”,其中他的方法“添加”。我覺(jué)得它這個(gè)方法是“被動(dòng)”的,因?yàn)楸韱巫约翰⒉粫?huì)“添加”,施加給它這個(gè)“動(dòng)作”,或者是“方法”的,應(yīng)該是個(gè)人。所以我認(rèn)為,我們建模的時(shí)候?yàn)槭裁床话岩粋€(gè)過(guò)程抽象為現(xiàn)實(shí)生活中的過(guò)程呢,也許它的性能會(huì)低一些。雖然我還沒(méi)有具體去實(shí)踐,也還沒(méi)有學(xué)過(guò)什么J2EE,但是我把我的想法說(shuō)說(shuō):

    比如架構(gòu)一個(gè)系統(tǒng),要涉及到權(quán)限,要涉及到功能的“開(kāi)”,“關(guān)”,最基本的做法,我們做每一個(gè)操作之前,總是要查詢(xún)“這個(gè)功能被系統(tǒng)打開(kāi)了或者是關(guān)閉了沒(méi)”,“我們是不是有這個(gè)權(quán)限”,很自然的,比如是個(gè)注冊(cè)系統(tǒng),我們?cè)趫?zhí)行“添加”這個(gè)動(dòng)作之前,都必須用到兩個(gè)方法,第一個(gè)檢查這個(gè)“注冊(cè)”功能是不是正被開(kāi)放使用,第二個(gè),我們是不是有這個(gè)“權(quán)限”進(jìn)行“添加”操作?那這兩個(gè)類(lèi),我們應(yīng)該放在哪個(gè)類(lèi)里面去呢,也許我們可以把他分成兩個(gè)類(lèi)(權(quán)限類(lèi),功能類(lèi)),然后在“注冊(cè)類(lèi)”里面加上這兩個(gè)方法,在執(zhí)行“添加”之前操作他們。我覺(jué)得這樣增加了他們之間的“耦合”,也顯得很混亂,在一個(gè)類(lèi)里面執(zhí)行這些操作,是不是把“注冊(cè)類(lèi)”這個(gè)靜的東西動(dòng)態(tài)了?執(zhí)行這些操作的應(yīng)該是個(gè)人才對(duì)???就象在現(xiàn)實(shí)世界中,我們填寫(xiě)完一張注冊(cè)表之后,我們并不會(huì)直接去“檢查”,“添加”他,我們會(huì)把他交個(gè)一個(gè)這方面的人,然后這個(gè)人會(huì)檢查,我是不是有這個(gè)權(quán)限?我填寫(xiě)的完整沒(méi)有?然后他跟“注冊(cè)類(lèi)”打交道。也就是,用戶(hù)――>“負(fù)責(zé)注冊(cè)模塊的人”――>注冊(cè)類(lèi)。這樣打交道。

    權(quán)限和功能問(wèn)題:我們要進(jìn)行操作時(shí),先找個(gè)負(fù)責(zé)這個(gè)操作的人,然后他告訴我,比如,“這個(gè)功能被關(guān)閉了”,“你的操作已經(jīng)成功了”,之類(lèi),我們不直接跟類(lèi)打交道,因?yàn)槲覀儾荒艹洚?dāng)每方面的“專(zhuān)家”

    這樣做的好處,松耦合,也省的每次執(zhí)行操作之前都要在方法里面嵌套方法,我們可以等用戶(hù)登陸的時(shí)候,就找到那個(gè)相關(guān)的人,把系統(tǒng)的功能開(kāi)放了哪些和這個(gè)人可以進(jìn)行的操作記錄在表里,進(jìn)行操作的時(shí)候就不必再查數(shù)據(jù)庫(kù)了,應(yīng)該更快些?然后用戶(hù)退出的時(shí)候,就刪除相關(guān)的記錄?

    我覺(jué)得MVC模式里面的C,有時(shí)候他就充當(dāng)了“這個(gè)人”的角色,但其實(shí)這個(gè)人可以分的更細(xì)些。

    這些問(wèn)題我也是剛想的,你們的想法是?或者,說(shuō)說(shuō)這樣做的缺陷

    hlayy

    發(fā)表文章: 45
    注冊(cè)時(shí)間: 2006年08月03日 11:29

    Re: 誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年09月06日 13:53 回復(fù)
    我覺(jué)得軟件這東西,只會(huì)越來(lái)越容易理解,越來(lái)越能用現(xiàn)實(shí)中的東西去抽象。復(fù)雜的東西,最后都會(huì)被淘汰,我看你那DDD,失血模型,我一看就有點(diǎn)頭昏,應(yīng)該也會(huì)被替代掉。

    hlayy

    發(fā)表文章: 45
    注冊(cè)時(shí)間: 2006年08月03日 11:29

    Re: 誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年09月06日 23:38 回復(fù)
    我用我的理論架構(gòu)一個(gè)“新聞發(fā)布系統(tǒng)”,如下

    我把“新聞發(fā)布系統(tǒng)”當(dāng)成一個(gè)公司,系統(tǒng)的架構(gòu)圖就是:

    用戶(hù)(操作者)――>檢查員(檢查操作者所用的功能是否開(kāi)放中,操作者的權(quán)限是否夠,操作者是否登陸)――>業(yè)務(wù)員(執(zhí)行“專(zhuān)業(yè)”的業(yè)務(wù),例如“添加”,“修改”,“刪除”)

    我可以把“檢查員類(lèi)”定義成一個(gè)抽象類(lèi),里面比如說(shuō)有個(gè)檢查權(quán)限的方法,然后實(shí)現(xiàn)它的類(lèi)就可以是“新聞權(quán)限檢查員”,“登陸權(quán)限檢查員類(lèi)”,你可以選擇一個(gè)成員對(duì)應(yīng)一個(gè)實(shí)際的靜態(tài)的類(lèi)(比如注冊(cè)表權(quán)限檢測(cè)員對(duì)應(yīng)注冊(cè)表類(lèi)),也可以用一個(gè)人類(lèi)對(duì)應(yīng)多個(gè)靜態(tài)類(lèi)。

    操作者跟業(yè)務(wù)員交流,業(yè)務(wù)員跟熟悉的業(yè)務(wù)交流,這就是我的架構(gòu)的實(shí)質(zhì)。這樣可行嗎?我討厭很多類(lèi),關(guān)系又很復(fù)雜,搞又搞不清楚,用“業(yè)務(wù)員”跟“業(yè)務(wù)”這樣的思想行得通么?請(qǐng)指教

    banq

    發(fā)表文章: 7507
    注冊(cè)時(shí)間: 2002年08月03日 17:08

    Re: 誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年09月08日 12:39 回復(fù)
    >權(quán)限和功能問(wèn)題:我們要進(jìn)行操作時(shí),先找個(gè)負(fù)責(zé)這個(gè)操作的人,然后他告訴我,比如,“這個(gè)功能被關(guān)閉了”,“你的操作已經(jīng)成功了”,之類(lèi),我們不直接跟類(lèi)打交道,因?yàn)槲覀儾荒艹洚?dāng)每方面的“專(zhuān)家”

    >用戶(hù)(操作者)――>檢查員(檢查操作者所用的功能是否開(kāi)放中,操作者的權(quán)限是否夠,操作者是否登陸)――>業(yè)務(wù)員(執(zhí)行“專(zhuān)業(yè)”的業(yè)務(wù),例如“添加”,“修改”,“刪除”)

    非常不錯(cuò),就是這個(gè)意思,現(xiàn)在我們討論下一步,如何使用代碼實(shí)現(xiàn)“檢查員”和“業(yè)務(wù)員”分離?這是設(shè)計(jì)問(wèn)題,這個(gè)實(shí)現(xiàn)有多個(gè)方式:

    1. 代理模式,使用權(quán)限代理人,這是Jive實(shí)現(xiàn)的原理,可看看它的源碼,缺點(diǎn)是,一個(gè)檢查員對(duì)應(yīng)一個(gè)業(yè)務(wù)員,如果我們業(yè)務(wù)員有100個(gè),檢查員就是100個(gè),很瑣碎?而且檢查員也是分類(lèi)的,如有的檢查員都屬于是A權(quán)限檢查,有的都屬于是B權(quán)限檢查,如果A權(quán)限變化,涉及多個(gè)檢查員修改,不利用權(quán)限拓展修改了。

    2.使用動(dòng)態(tài)代理直至AOP,在AOP中有一個(gè)角色叫Advisor,它實(shí)際就是一個(gè)檢查員的意思,通過(guò)Advisor,我們可以通過(guò)配置設(shè)定將Advice或攔截器跟住哪個(gè)業(yè)務(wù)員。

    以上原理如果你要看源碼,可以瞧瞧JdonFramework的Message源碼,檢查員配置是通過(guò)配置實(shí)現(xiàn)的,與業(yè)務(wù)分離了,更深入的權(quán)限可以參考JiveJdon3。當(dāng)然與JdonFramework同列SUN公司企業(yè)應(yīng)用目錄的appfuse也是一個(gè)范本,使用Spring+Acegi實(shí)現(xiàn),實(shí)現(xiàn)起來(lái)比較復(fù)雜,而且功能演示就那么一點(diǎn)點(diǎn),你可以下載看看。

    你前面oo思路是正確的,就應(yīng)該是這樣符合我們思考習(xí)慣的思路,Evans DDD不是將這個(gè)問(wèn)題復(fù)雜化,而是繼續(xù)引導(dǎo)走下去,你的思路只是分析,如果設(shè)計(jì)實(shí)現(xiàn)呢?DDD提供了建模實(shí)現(xiàn)的途徑,針對(duì)很多問(wèn)題進(jìn)行了討論,因?yàn)闄?quán)限問(wèn)題已經(jīng)成為通用的組件框架技術(shù),所以在Evans DDD中并沒(méi)有談及權(quán)限,而是討論各種不同復(fù)雜的業(yè)務(wù)系統(tǒng),這是正確的。

    雖然我們具備OO思考習(xí)慣,因?yàn)槲覀兘?jīng)歷和經(jīng)驗(yàn)問(wèn)題,可能覺(jué)得DDD復(fù)雜,那是因?yàn)槲覀兊脑颍皇抢碚摰脑?,有時(shí)必須搞清楚這個(gè)關(guān)系,才能判斷這個(gè)理論是不是曇花一現(xiàn)。

    Martin Fowler等一些OO專(zhuān)家著作的PoEAA,原來(lái)我批判其操作性不夠,講得好聽(tīng),實(shí)現(xiàn)起來(lái)難做,包括其分析模式,還不如四色原型方便,但是DDD在這方面邁出了探索,講這些包括我們得GoF設(shè)計(jì)模式付諸于建模實(shí)踐,最后我們得設(shè)計(jì)精華濃縮在OO模型上,這是令人激動(dòng)的。

    hlayy

    發(fā)表文章: 45
    注冊(cè)時(shí)間: 2006年08月03日 11:29

    Re: 誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年09月09日 15:30 回復(fù)
    您說(shuō)的是有一定道理的,呵呵,我畢竟是個(gè)初學(xué)者。

    DDD我沒(méi)有深入研究過(guò),我覺(jué)得這方面的資料書(shū)籍根本不怎么找得到,在您的站點(diǎn)里面也就幾篇相關(guān)的文章。

    我現(xiàn)在也很郁悶,有很多東西我都想好好的把它研究一下。但是這個(gè)和生活真是矛盾,我是軟件學(xué)院畢業(yè)的,還是2年的那種,本來(lái)可以升本,但自己不愿意,也不想給家里造成很大的經(jīng)濟(jì)負(fù)擔(dān),所以放棄了。

    在大學(xué)兩年里,我根本就沒(méi)怎么學(xué)。JSP,JAVA也就學(xué)了半個(gè)學(xué)期。我現(xiàn)在會(huì)的也就是三層的MVC:JSP+JAVABEAN+SERVLET。根據(jù)我在家呆了這段時(shí)間以來(lái),我看了很多書(shū),“設(shè)計(jì)模式”,“重構(gòu)”,“AJAX,”,“SPRING”,“EJB”等太多了,這些都只是大概的了解了一下。

    我覺(jué)得搞應(yīng)用是搞應(yīng)用,現(xiàn)在多少人又了解框架的原理,現(xiàn)在開(kāi)發(fā)做網(wǎng)站的是搞二次開(kāi)發(fā)的,用熟了那些框架基本上就行了。(雖然懂了原理可以更好的做開(kāi)發(fā))了解原理的人大多數(shù)不是成“架構(gòu)師”那就是在開(kāi)發(fā)“框架”了吧。兩個(gè)不同的工種。

    賺錢(qián)和搞技術(shù)是兩碼事,這個(gè)物欲橫流的時(shí)代,搞技術(shù)但是沒(méi)錢(qián),又有多少人能靜得下心來(lái)?

    我個(gè)人來(lái)說(shuō),真想把他們的應(yīng)用和原理都研究下,可是還得找工做,我現(xiàn)在是不是該先放下原理的東西,把應(yīng)用學(xué)會(huì)呢?

    根據(jù)我分析,現(xiàn)在建站點(diǎn),絕大多數(shù)的時(shí)候是需要用框架的,他們更容易快速快發(fā),也更容易維護(hù),擴(kuò)展等。(關(guān)鍵的地方是框架之間的搭配吧?)

    可我是先學(xué)J2EE好,還是學(xué)“Struts”,“JDON”之類(lèi)的輕量級(jí)的框架好呢?我本來(lái)打算先學(xué)J2EE的,可這樣的話(huà),時(shí)間是不是要很久?

    真搞不懂,象我這樣的人才,怎么連工作都找不到……,真郁悶。哪位大哥大姐幫忙推銷(xiāo)一下,呵呵,先謝謝了。

    hlayy

    發(fā)表文章: 45
    注冊(cè)時(shí)間: 2006年08月03日 11:29

    Re: 誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年09月09日 16:15 回復(fù)
    另外,“權(quán)限”我沒(méi)有深入的思考過(guò),我不明白你說(shuō)的100個(gè)業(yè)務(wù)員,需要100個(gè)檢查員是什么,權(quán)限的主體內(nèi)容就是“資源”,這個(gè)“資源可以有很多不同的操作”,例如“可讀”,“可寫(xiě)”,“只讀”等。權(quán)限系統(tǒng)做到極至了,那也就是對(duì)資源的細(xì)化。細(xì)化到一個(gè)類(lèi),一個(gè)對(duì)象或者一個(gè)方法,一個(gè)變量。細(xì)化的程度不同,復(fù)雜程度自然不同。我覺(jué)得就是(String “操作”,Table “資源表”),一個(gè)操作,一個(gè)是“資源表”。比如一個(gè)人要做注冊(cè)表的添加操作(String “注冊(cè)表的添加操作”,Table “資源表”),那么檢查員,找到資源“注冊(cè)表的添加操作”,然后我們就可以查出誰(shuí)能操作它,一個(gè)用戶(hù),或者一個(gè)組,或者幾個(gè)組,他們之間用“或”關(guān)系,只要是其中的一個(gè),就有權(quán)對(duì)它進(jìn)行操作?

    理論上來(lái)說(shuō),資源可以是個(gè)“樹(shù)”狀結(jié),例如“注冊(cè)表的添加操作”,它是不是可以是資源“注冊(cè)表”下面的節(jié)點(diǎn)。我覺(jué)得這樣做的關(guān)鍵是,你要知道你現(xiàn)在在進(jìn)行什么樣的操作,并把它帶進(jìn)檢查的方法(String “操作”,Table “資源表”)。


    還有,資源的嵌套問(wèn)題,就是說(shuō),你有權(quán)訪問(wèn)“注冊(cè)表”這個(gè)資源,是不是就能進(jìn)行“注冊(cè)表”資源下的所有的資源的操作?我覺(jué)得要是你每次都能帶一個(gè)你正在進(jìn)行的“操作”進(jìn)那個(gè)方法,那這個(gè)就不重要了,因?yàn)?,只要進(jìn)行“操作”,你就還得重新查一次“資源”。

    簡(jiǎn)化這個(gè)模式:你并不一定對(duì)每個(gè)資源都要進(jìn)行權(quán)限控制吧,那樣,這個(gè)“資源”也許會(huì)大到你不想要的程度,你可以把你想要控制的“那部分”,放在這個(gè)“資源”中?

    關(guān)于操作者(進(jìn)行操作的這個(gè)人),他可能是一個(gè)單獨(dú)的角色,也可能是一個(gè)組,所有的操作者,都讓一個(gè)檢查員去進(jìn)行檢查,這個(gè)“檢查員”沒(méi)有子類(lèi)。

    如果你是這樣的一個(gè)模塊派一個(gè)檢查員,一個(gè)模塊做為一個(gè)資源,那樣是不是更復(fù)雜了,但是也可以,因?yàn)闄z查員是并行的,也就是說(shuō),你進(jìn)行注冊(cè)表的操作,總不至于叫新聞模塊的檢查員去檢查吧?然后資源那部分,再建個(gè)表就是了。(樹(shù)狀結(jié)構(gòu))

    這樣的想法會(huì)最自然的想法了,現(xiàn)實(shí)生活中不也是這樣么,檢查員必須知道操作員,對(duì)資源進(jìn)行了什么樣的操作,他才能做出他有沒(méi)有權(quán)利的判斷?

    我的模型的難處就在于,你要傳入你正在進(jìn)行的“操作”,這個(gè)問(wèn)題實(shí)現(xiàn)起來(lái)好象有點(diǎn)難度,可以在表現(xiàn)層,提交一個(gè)表單的時(shí)候順便當(dāng)參數(shù)一樣,傳一個(gè)“操作”?

    大家可以再討論討論。BANQ,要不我去你那幫你公司掃地好了,要是你做我?guī)煾担俏铱隙ú灰獛啄昃湍苡兴?shù)了。

    hlayy

    發(fā)表文章: 45
    注冊(cè)時(shí)間: 2006年08月03日 11:29

    Re: 誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年09月09日 16:20 回復(fù)
    我們可以對(duì)“會(huì)員”進(jìn)行管理,添加,修改,刪除等,那為什么我們不可以對(duì)“資源”進(jìn)行管理,規(guī)定哪些“資源”可以被哪些人操作,我們甚至可以進(jìn)行“資源”的添加修改刪除,就想,一個(gè)倉(cāng)庫(kù),我們新進(jìn)一批產(chǎn)品的時(shí)候,不是也要對(duì)這些“資源”進(jìn)行登記么?

    然后再根據(jù)實(shí)際的情況簡(jiǎn)化這個(gè)模型,要不我就不知道計(jì)算機(jī)短時(shí)間內(nèi),能不能有那個(gè)運(yùn)算量了

    banq

    發(fā)表文章: 7507
    注冊(cè)時(shí)間: 2002年08月03日 17:08

    Re: 誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年09月14日 18:34 回復(fù)
    >那為什么我們不可以對(duì)“資源”進(jìn)行管理,規(guī)定哪些“資源”可以被哪些人操作,我們甚至可以進(jìn)行“資源”的添加修改刪除

    是可以這樣,資源使用一個(gè)通用的樹(shù)組件來(lái)完成,如果再結(jié)合角色的樹(shù)結(jié)構(gòu),它們之間的對(duì)應(yīng)是靈活的,而且是分離的,都可以實(shí)現(xiàn)。

    billywxy

    發(fā)表文章: 19
    注冊(cè)時(shí)間: 2003年11月07日 08:08

    Re: 誰(shuí)能寫(xiě)個(gè)“新聞發(fā)布系統(tǒng)”的面向?qū)ο蠓治龊驮O(shè)計(jì)的過(guò)程? 發(fā)表: 2006年10月21日 12:49 回復(fù)
    1、如果你需要讓網(wǎng)友幫你分析你的系統(tǒng),請(qǐng)清楚詳細(xì)描述你的問(wèn)題域。
    2、我建議新人從傳統(tǒng)的面象對(duì)象的分析、設(shè)計(jì)做起。在完全掌握的基礎(chǔ)上,再去學(xué)習(xí)XP的一些方法。

    傳統(tǒng)面向?qū)ο蠓治鲈O(shè)計(jì)建議考慮以下過(guò)程:
    1、整理詞匯、用例(用例的方法參見(jiàn)“編寫(xiě)有效用例”一書(shū))
    2、系統(tǒng)順序圖、領(lǐng)域模型、系統(tǒng)分析模型(只包括分析類(lèi)和他們之間的關(guān)系)
    3、架構(gòu)設(shè)計(jì),包括:部署圖、系統(tǒng)架構(gòu)包圖、架構(gòu)方法設(shè)計(jì)(權(quán)限,事務(wù)(業(yè)務(wù)事務(wù),系統(tǒng)事務(wù))、日志、并發(fā)控制、持久化、分布式)。
    4、界面設(shè)計(jì)
    5、系統(tǒng)設(shè)計(jì)模型(用例實(shí)現(xiàn),系統(tǒng)設(shè)計(jì)類(lèi)圖)
    6、編碼實(shí)現(xiàn)
    簡(jiǎn)單來(lái)說(shuō)就是以用例驅(qū)動(dòng),以架構(gòu)為核心,迭代、增量的去開(kāi)發(fā)。


    posted on 2007-03-24 11:44 java_蟈蟈 閱讀(1238) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲无码精品浪潮| 亚洲国产AV无码专区亚洲AV| 亚洲精品二区国产综合野狼| 亚洲一级毛片在线观| 免费国产黄网站在线看| 69av免费观看| 亚洲国产精品丝袜在线观看| 亚洲精品电影天堂网| 一区二区三区免费高清视频| 波多野结衣免费在线观看| 久久精品国产精品亚洲艾草网美妙| 亚洲成aⅴ人在线观看| 国产黄色免费观看| 一二三四视频在线观看中文版免费| 国产亚洲日韩在线三区| 亚洲中文字幕一二三四区| 91在线免费观看| 四虎影视免费永久在线观看| 久久综合亚洲鲁鲁五月天| 国产精品1024在线永久免费| 扒开双腿猛进入爽爽免费视频| 亚洲A∨无码无在线观看| 香港经典a毛片免费观看看| 中文字幕无码免费久久99| 国产亚洲人成无码网在线观看| 亚洲av午夜国产精品无码中文字| 无码国产精品一区二区免费16| 亚洲av高清在线观看一区二区 | 中文字幕在线亚洲精品| 亚洲欧美日韩综合俺去了| 久久久久久久久久国产精品免费 | 91免费在线播放| 日韩亚洲一区二区三区| 国产成人综合亚洲绿色| 国产一精品一AV一免费孕妇| 久久久久亚洲AV成人无码 | yellow视频免费在线观看| 免费的一级黄色片| 亚洲av永久无码嘿嘿嘿| 日韩在线不卡免费视频一区| 国产亚洲真人做受在线观看|