我想做一个论坛,各板能够独立增加一些字段和逻辑(可以看作插件),大家提些建议吧

cat_hsfz 2005-07-29 02:00:29
这应该是一个主体基于论坛的社区吧,也就是说在数据库方面很像一个论坛。Board有ParentBoard,可以无限级创建子论坛,Board对Topic和Topic对Post都是一对多,Post也有ParentPost以成树装,一个最最基本的论坛大概也就这些了吧。

然后我不同的板有不同的职能,所以它们或许要增加一些字段和逻辑(所以我会选择一个Board一张Topic表和一张Post表的做法)。例如假如我希望有个问答板块是好像CSDN那样有份数计算的,那么我就需要对Topic和Post增加分数相关的字段,在UI上提供发帖时给分的地方以及节帖的版面,然后还要增加对应的逻辑部分。

同时,我希望把这样的一个“功能附加”做到好像论坛插件的形式,最好能够我可以脱离论坛按照一定的接口就能够编写插件,插件装到论坛的某一个Board后也能够轻易的Enable或者Disable。另外如果能够允许一个Board加多个插件就好了(在不冲突的情况下)。

我暂时的设想是这样的,每一个Board都是相对独立的拥有自己的aspx但调用的主要WebControl都是相同的,这个有点类似Sharepoint里面List的概念——每一个List都是一个独立的目录,更改一个List的UI并不影响这个类型的其他List及新建同类型List的默认UI。然后所谓的插件就有点像WebControl,不过对它的引用信息不是放在aspx而是放在该Board的config文件。而说它类似WebControl,就是在于运行时aspx和插件的交互就有点像和WebControl的交互。例如在“发表新贴”(NewTopic.aspx)页面,它会检测插件是否支持INewTopicAddOn,支持的话就在Load的时候调用它的INewTopicAddOn.LoadAddOnInputRows(),例如类似CSDN论坛的插件就会在此函数中要求增加“给分”一栏。至于验证“给分”是不是合法,发帖成功可以保存数据了,则在INewTopicAddOn的其它函数中实现。还有就是到插件第一次被调用时应该像数据库增加什么字段等操作,也是在插件基类中指定了在某个virtual函数中实现的。

我暂时能够想到的就这么多了,希望大家多给点建议吧。
...全文
72 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
athossmth 2005-07-29
  • 打赏
  • 举报
回复
你的思路有点乱阿,我觉得你需要的是一个权限设定的功能,当然这里不是“User”或者“Role”的权限,而是“Borad”的权限,这个东西用一个Matrix就可以做的。然后可以根据Matrix的结果动态的Load对应的usercontrol或者增加菜单。
flyye_cs 2005-07-29
  • 打赏
  • 举报
回复
多参考一下国内外.net的论坛先...

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧