日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

漫谈社区架构

發(fā)布時(shí)間:2025/4/5 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 漫谈社区架构 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

現(xiàn)在Web最火的是什么?Web 2.0?Web 2.0最火的是什么?論壇和博客。論壇和博客以及諸如SNS等等,又可以合稱(chēng)為社區(qū)(Community)。

?

一直以來(lái),做一個(gè)屬于自己的論壇就是我的夢(mèng)想,一個(gè)可以想怎么擴(kuò)展就怎么擴(kuò)展的論壇,一個(gè)內(nèi)部架構(gòu)與表現(xiàn)層完全分離的論壇,一個(gè)稍加改動(dòng)就可以變成博客或者你所能想到的所有的東西的論壇。

?

這個(gè)東西如何才能從夢(mèng)想變成一個(gè)切實(shí)的東西。最重要的便是,抽象架構(gòu)。本文試圖從筆者自己對(duì)論壇和博客的理解,談?wù)勆鐓^(qū)的抽象架構(gòu)。

?

?

首先社區(qū)是由用戶發(fā)布的東西所構(gòu)成的,這個(gè)東西可以是帖子、博文、照片等等等等,所有的這些,我通稱(chēng)為文檔。文檔被定義為,用戶可以發(fā)布的最小單位。也就是說(shuō),用戶最少一次只能發(fā)布一個(gè)文檔(Document),而不能是一個(gè)文檔片段或者其他的什么。文檔這個(gè)東西,在論壇中,就是一個(gè)帖子,一個(gè)回復(fù),一個(gè)BT種子(BitTorrentFileDocument)。而在博客中,便是一篇博文,一個(gè)評(píng)論,一個(gè)圖片(PictureDocument),或者其他任何可以發(fā)布的東西。

?

一個(gè)東西被發(fā)布(Publish)后,用戶就必須舍棄一部分權(quán)利。比如說(shuō),一個(gè)帖子如果被發(fā)布到一個(gè)重要的板塊(如投訴、建議、公告),就不能隨便修改。從法理上來(lái)說(shuō),一個(gè)文檔一旦被發(fā)布,其發(fā)布者就必須對(duì)發(fā)布時(shí)的狀態(tài)負(fù)責(zé),而無(wú)論這個(gè)文檔是不是被人看過(guò)(比如說(shuō)其中包含不實(shí)或詆毀他人的言論,或者一幅包含XX內(nèi)容的圖片)。所以,一個(gè)文檔的發(fā)布與否,是非常重要的一件事情。所以我必須引入另一個(gè)概念,“已發(fā)布的文檔”(PublishedDocument)。

?

文檔發(fā)布后想要讓大家看到,就必須有個(gè)地方來(lái)展示。這個(gè)展示文檔的東西,我暫時(shí)就叫它話題(Topic)吧。如果你想要發(fā)布一個(gè)東西引起大家的討論,這就叫發(fā)起一個(gè)話題(LunchTopic)。如果你對(duì)這個(gè)話題有話要說(shuō),那么就叫做參與這個(gè)話題(AttachTopic),而你要說(shuō)的話,還是必須被先包裝成文檔(Document),并發(fā)布(Publish)。

?

話題其實(shí)是很多東西的一個(gè)抽象表達(dá),因?yàn)槲覀儎偛耪f(shuō)了,Document本身就是一個(gè)抽象的東西,可以是一個(gè)文本文檔(TextDocument),一個(gè)照片(PhotoDocument)。那么顯然,話題除了可以是一篇博文和它的評(píng)論或者一個(gè)帖子和它的回復(fù),還可以是一個(gè)照片和它的評(píng)論,一個(gè)投票和他的參與以及評(píng)論,一個(gè)問(wèn)題和大家的回答,一個(gè)相冊(cè)和大家的評(píng)價(jià),等等等等……總而言之,一個(gè)“發(fā)布的文檔”的集合。當(dāng)然,話題也可以僅僅就是一個(gè)公告,它就只有一個(gè)文檔。

?

但是話題又顯然不是一個(gè)文檔集合這么簡(jiǎn)單,這是因?yàn)樵掝}包含了“已發(fā)布的文檔”的關(guān)系和狀態(tài)。一個(gè)顯而易見(jiàn)的關(guān)系就是回應(yīng)關(guān)系,我這個(gè)回復(fù)是針對(duì)哪個(gè)回復(fù)的,或者說(shuō)我這個(gè)評(píng)論是針對(duì)哪個(gè)評(píng)論的。這是論壇上一個(gè)非常常見(jiàn)的功能。雖然這個(gè)關(guān)系可以用引用回復(fù)來(lái)解決,但這只是一種實(shí)現(xiàn)手段卻不是說(shuō)抽象模型中沒(méi)有這個(gè)東西。

?

話題中文檔的另一個(gè)關(guān)系或狀態(tài)我將它稱(chēng)為覆蓋或者叫遮蓋,在談這個(gè)關(guān)系之前,我必須說(shuō)說(shuō)“已發(fā)布的文檔”不可修改原則。

?

顯然,一個(gè)文檔的修改與發(fā)布一個(gè)新的文檔在本質(zhì)上是沒(méi)有任何不同的,而且在實(shí)際操作中,修改功能已經(jīng)凸現(xiàn)出越來(lái)越多的弊端了。比如說(shuō)“占樓”,意思就是指,先把位置占住,然后再利用修改功能將要發(fā)布的東西放到那個(gè)位置去。所以,文檔的修改版本是不是要與原來(lái)的文檔版本相同或者是在其上修改,這完全是一個(gè)良心問(wèn)題。修改在很多時(shí)候也可以當(dāng)作刪除功能來(lái)使用,將回復(fù)修改成:“已被作者刪除”,就完成了與刪除回復(fù)雷同的功能。并且,很多人都習(xí)慣用修改來(lái)逃避應(yīng)有的責(zé)任,雖然說(shuō)這也是論壇上避免爭(zhēng)端的一個(gè)方法(刪除自己頭腦發(fā)熱的言論)。但是一個(gè)已經(jīng)發(fā)布的東西改來(lái)改去帶來(lái)的扯皮遠(yuǎn)比好處多。

?

綜上所述,不如干脆直接屏蔽“已發(fā)布的文檔”的修改功能,這個(gè)功能的替代是“重發(fā)布”(Republish)。這不僅僅是改個(gè)名字而已,而是在架構(gòu)上重新設(shè)計(jì)了。重發(fā)布的意思是,再發(fā)布一個(gè)文檔到話題,以替換掉原先的文檔。這個(gè)原先的文檔(HistoricalDocument)的狀態(tài),就叫做被被覆蓋(Shadowed)。這樣修改后,至少在架構(gòu)上,所有已發(fā)布的文檔都會(huì)一直在話題中存在,至于被覆蓋的文檔,是不是被顯示出來(lái),這完全是UI的問(wèn)題。

?

這樣設(shè)計(jì)的好處是相當(dāng)多的,“已發(fā)布的文檔”的版本關(guān)系不再是文檔本身的屬性,而是話題的屬性。這樣恰好避免了另一個(gè)問(wèn)題:“管轄權(quán)限沖突”。這個(gè)沖突其實(shí)是比較麻煩的,也就是說(shuō),一個(gè)“已發(fā)布的文檔”的所有者(作者、發(fā)布者)所擁有的權(quán)限(如修改,刪除)會(huì)和這個(gè)文檔所處的話題的管理者的權(quán)限相沖突。簡(jiǎn)單的說(shuō),你在一個(gè)板塊發(fā)了一個(gè)帖子,版主修改了你的帖子,你不滿意版主的做法,把帖子又擅自改回,版主又改過(guò)去。然后版主刪掉你的帖子,使得你的成果丟失,你非常氣惱,離開(kāi)論壇。或者,一個(gè)菜鳥(niǎo)在他的博客上發(fā)表了一個(gè)問(wèn)題,你覺(jué)得這個(gè)問(wèn)題不怎么樣,但是延伸開(kāi)來(lái)有很多有價(jià)值的東西可以說(shuō),你去發(fā)表一篇很長(zhǎng)的回復(fù),結(jié)果那個(gè)菜鳥(niǎo)不明就里的把你的回復(fù)給刪掉了,你氣惱,你苦悶,你無(wú)助,離開(kāi)這個(gè)博客。

?

或者反過(guò)來(lái),某人發(fā)表了一個(gè)詆毀你的言論,你氣惱,你回應(yīng)了一篇長(zhǎng)篇大論來(lái)駁斥這個(gè)胡說(shuō)八道,但是,那個(gè)家伙把他的帖子刪掉了,這下子大家只看到你一個(gè)人在那里被當(dāng)猴耍。

?

OK,其實(shí)上面這些問(wèn)題都是私有權(quán)限和公有權(quán)限不明確所造成的。一個(gè)已發(fā)布的文檔不可以被修改(允許修改就等于允許刪除),已發(fā)布的文檔不能被所有者刪除。就能徹底的解決上面這些亂七八糟的問(wèn)題。

?

事實(shí)上我考慮清楚重發(fā)布的問(wèn)題后,很多問(wèn)題都變得清晰起來(lái)了。

?

一個(gè)文檔沒(méi)有被發(fā)布之前,這個(gè)東西是用戶的私有財(cái)產(chǎn),可以隨便亂改,隨便亂刪。但是一旦被發(fā)布,就會(huì)出來(lái)一個(gè)“已發(fā)布的文檔”的副本,不再是你的私有財(cái)產(chǎn),必須受到話題的管轄。話題可以賦予用戶修改(重發(fā)布)和刪除的權(quán)利,也可以不賦予。并且,你發(fā)布后也可以對(duì)文檔進(jìn)行修改,或者別的操作,不過(guò)這些操作都是對(duì)你的私有副本的操作,而不是那個(gè)“已發(fā)布的文檔”的副本。

?

而且,以前那些糾纏不清操作和權(quán)限,一下子全清楚了。

?

文檔顯然是可以被修改(Modify)的,也可以被刪除(Delete)。但是一個(gè)話題里面的文檔要被修改就叫做重發(fā)布(Republish),要?jiǎng)h除一個(gè)話題里面的文檔叫做從話題中移除(RemoveFromTopic)。

?

這樣梳理后,話題也可以被賦予一個(gè)新的定義,也就是管理權(quán)限的最小單位,所有的管理權(quán)限都可以被當(dāng)成是對(duì)話題結(jié)構(gòu)的修改(重發(fā)布、移除、拆分、合并、添加精華標(biāo)記)。自此,話題成為公有區(qū)域和私有區(qū)域交接處。

轉(zhuǎn)載于:https://www.cnblogs.com/Ivony/archive/2008/10/31/1323388.html

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專(zhuān)家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的漫谈社区架构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲区 欧美区 | 欧美图片一区二区 | 天堂中文字幕免费一区 | 亚洲夜夜爽 | 成熟的女同志hd | 日本不卡一区 | 操大爷影院 | 国产chinesehd精品 | 欧美aaaaaaaaa| 男人的天堂视频 | 91大神在线观看视频 | 欧美破处大片 | 久久99这里只有精品 | 韩国甜性涩爱 | 深夜激情影院 | 午夜影院免费体验区 | 日本少妇与黑人 | 精品国产乱码久久久久久1区二区 | 日韩激情视频在线 | 国产精品白嫩极品美女视频 | 国产成人自拍网 | 假日游船 | 超碰97在线人人 | 欧美性受xxxx黑人 | 96国产视频 | 青青青手机视频在线观看 | 久操影视 | 熟女丝袜一区 | 在线观看国产一区二区 | 日日操夜夜操狠狠操 | 成人做爰www看视频软件 | 在线欧美激情 | 亚洲美女精品视频 | 俄罗斯美女av| 国产九九九九九 | 亚洲精品天堂在线观看 | 蜜桃av噜噜一区二区三区 | 日本综合视频 | 香蕉视频链接 | 91在线观看免费高清 | 熟妇人妻无乱码中文字幕真矢织江 | 台湾佬美性中文娱乐 | 色www国产亚洲阿娇 自拍一区在线 | 奶罩不戴乳罩邻居hd播放 | 欧美亚日韩 | 国产丝袜在线视频 | 欧美国产一区二区三区 | 91久| 91视频看看 | 中文字幕一区不卡 | 久久国产精品波多野结衣av | 91美女视频在线观看 | 国产性爱精品视频 | 激情综合网五月天 | 亚洲精品免费观看 | 亚洲免费看av | 成人在线视频观看 | 人人干视频 | 成人h动漫精品一区二区下载 | 欧美性猛交久久久乱大交小说 | 中文字幕电影一区 | 噼里啪啦免费看 | 免费黄色在线看 | 日韩91| 99人人爽| 吻胸摸激情床激烈视频大胸 | 中文字幕成人一区 | 欧美激情va永久在线播放 | 日本在线一区 | 公侵犯人妻一区二区三区 | m3u8成人免费视频 | 欧美日韩在线一区二区三区 | 韩国三级丰满少妇高潮 | 日韩精品在线观看一区二区三区 | 亚洲成人一区二区三区 | 性――交――性――乱睡觉 | 成年人免费看的视频 | 欧美猛交xxx | 久久精品一区二 | 高清av一区二区三区 | 老司机久久| 加勒比精品在线 | 一区二区三区四区影院 | 国产精品成人午夜视频 | 国产喷水在线 | 中文字幕亚洲无线码在线一区 | 双性懵懂美人被强制调教 | 国产一级黄色电影 | 俄罗斯av在线 | 亚洲欧美日韩综合一区二区 | 娇喘顶撞深初h1v1 | 日日噜噜噜夜夜爽爽狠狠视频97 | 亚洲ⅴ国产v天堂a无码二区 | 精产国品一二三区 | 男男h黄动漫啪啪无遮挡软件 | 蜜桃av成人 | 国产叼嘿视频在线观看 | 免费黄色小视频 | 天天射影院 |