.NET Core实战项目之CMS 第八章 设计篇-内容管理极简设计全过程

简介:

写在前面

上一篇文章中我带着大家进行了权限部分的极简设计,也仅仅是一个基本的权限设计。不过你完全可以基于这套权限系统设计你的更复杂的权限系统,当然更复杂的权限系统要根据你的业务来进行,因为任何脱离实际业务的权限设计都是耍流氓!今天这篇文章我们就对CMS系统的内容进行设计。同时下篇文章准备带着大家理解一下架构设计。

这几天我也想了很多,要不要把这个CMS做的尽可能完善,考虑的尽可能周到!想想还是算了,前面还是以极简为主,不然的话严重影响这个系列教程的进度,导致已经有很多朋友都留言要崔更了(这里非常感谢大家对我这个系列文章的期待,毕竟第一次写一个系列的文章)。权限设计部分就提现了极简主义,这篇内容管理呢,更提现了极简主义,只设计文章的管理以及文章分类的管理。先带着大家把这个教程走完。前期主要实现让你可以通过这个CMS系统搭一个极简主义的博客网站吧!毕竟,这个.NET Core实战项目之CMS也是为了带着大家能够系统的开发一个.NET Core项目。如果你在阅读的过程中有任何的问题,欢迎大家在留言区进行留言,或者加入.NET Core实战项目交流群637326624跟大伙一起交流经验。

本文已收录至《.NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
作者:依乐祝
原文链接:https://www.cnblogs.com/yilezhu/p/10073642.html

需求分析

由于目前的需求是这个CMS系统要满足一个博客系统的功能。当然一个博客系统首先要有权限系统,这个我们上篇文章里面的权限设计已经能够满足功能了。可光有权限系统还不够,还要有新建文章,发布文章,文章分类的功能。复杂点的还要有文章评论子系统,留言子系统,友情链接子系统,甚至还包含SEO优化的部分,再复杂点就像博客园一样,还包含会员子系统,会员也可以发布文章等等。但是你以为我会把这些都设计进来吗?骚年,你想多了!我们还是慢慢迭代吧,这里先进行博客内容以及博客分类的设计吧!至于其他的功能以后再慢慢迭代吧!同时这个项目我会一直开源在GitHub上,持续的更新,这些功能后期都会有的。
综上,我们的需求很明确:文章管理,以及文章分类管理!文章要求记录阅读量。就这么简单,惊不惊喜?意不意外?哈哈!要不怎么说极简呢?

逻辑模型设计

这次设计的比较顺畅,没有一点点停顿,可以说一步到位,为什么??因为实在是极简啊!不信?我就直接上图了!都不用备注,你就能看懂!当然,设计的PDM文章我今天就会放到GitHub上。地址,在文章最后给出。

1544013731217

是不是很简单,就两张表,可这两张表包含的内容可不少。下面我们就来说道说道

表详细说明

分类表

分类表,顾名思义就是文章的分类,这里分类中有个父分类ID可以进行循环嵌套,这样就可以让分类具有子分类的功能,理论上支持无限嵌套,但是傻瓜才会真的嵌套那么多次吧!
另外分类中加入了SEO相关的标题,关键字,以及描述!什么SEO有什么用?自己百度去。
表中具体的字段我就不一一列举出来了!因为我会把PDM放到GitHub上面,你完全可以使用PowerDesigner打开看一下。

文章表

文章表就是我们的主表了!一切都是为它服务!因为权限系统作为支撑系统,分类作为文章的辅助,而主角肯定是文章表本身了!前台页面展示也都是展示文章的内容。
这里文章我们有浏览量,有了浏览量我们就知道了我们的文章的受欢迎程度。
同时,文章表也加入了诸如,是否轮播图播放,是否置顶,是否热门等等字段,好处是我们可以丰富我们的页面功能,通过这些属性来自定义每个部分显示的文章内容!当然你也可以通过分类进行设置,这个你自由发挥!
既然是博客系统,文章的SEO功能肯定是不能少的,作为我们的主角,肯定也得有SEO标题,关键字,内容字段,让我们可以自定义这些内容,这里有人或许会问了,万一我没写这些字段怎么办呢?当然给默认值了,这里思考下我会怎么给默认值吧!
如果我们看到了比较好的文章,想要转载怎么办呢?这里当然要给你留个来源跟作者的字段了。不然,你不留来源跟作者的话,当心别人会告你侵权哦!
废话有点多,pdm文件我会放到GitHub上,自己去看吧!注释写的又那么全,内容又那么少,理解起来又那么容易,你要再不想看的话,我也没办法了!

GitHub地址

这里我会把权限设计以及内容管理设计的逻辑视图上传到GayHub上,这里给出地址。觉得不错的,可以给个Star!后续我们也会在这个GayHub仓库进行开发的!

GitHub:https://github.com/yilezhu/Czar.Cms
码云:https://gitee.com/yilezhu/Czar.Cms

总结

不善于作总结的程序员不是一个好作者!本篇文章带着大家设计了一下我们将要实战的CMS系统的内容管理模块,也是最核心的模块!但,我们却进行了简单的不能再简单的设计!因为如果进行太详细的设计的话,会严重影响更新的进度,目前已经有很多小伙伴崔更了!!!上篇文章的权限设计以及本篇文章的内容设计的逻辑视图的PDM文件我也已经上传到GayHub上了,有兴趣的朋友可以下载查看!
下篇文章我们就一起聊聊架构设计!

目录
相关文章
|
5月前
|
数据采集 自然语言处理 Java
Playwright 多语言一体化——Python/Java/.NET 全栈采集实战
本文以反面教材形式,剖析了在使用 Playwright 爬取懂车帝车友圈问答数据时常见的配置错误(如未设置代理、Cookie 和 User-Agent),并提供了 Python、Java 和 .NET 三种语言的修复代码示例。通过错误示例 → 问题剖析 → 修复过程 → 总结教训的完整流程,帮助读者掌握如何正确配置爬虫代理及其它必要参数,避免 IP 封禁和反爬检测,实现高效数据采集与分析。
265 3
Playwright 多语言一体化——Python/Java/.NET 全栈采集实战
|
10月前
|
开发框架 .NET 开发者
简化 ASP.NET Core 依赖注入(DI)注册-Scrutor
Scrutor 是一个简化 ASP.NET Core 应用程序中依赖注入(DI)注册过程的开源库,支持自动扫描和注册服务。通过简单的配置,开发者可以轻松地从指定程序集中筛选、注册服务,并设置其生命周期,同时支持服务装饰等高级功能。适用于大型项目,提高代码的可维护性和简洁性。仓库地址:<https://github.com/khellang/Scrutor>
233 5
|
10月前
|
开发框架 搜索推荐 算法
一个包含了 50+ C#/.NET编程技巧实战练习教程
一个包含了 50+ C#/.NET编程技巧实战练习教程
271 18
|
10月前
|
前端开发 C# 开发者
.NET使用Umbraco CMS快速构建一个属于自己的内容管理系统
.NET使用Umbraco CMS快速构建一个属于自己的内容管理系统
129 12
|
11月前
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
214 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
10月前
|
开发框架 算法 中间件
ASP.NET Core 中的速率限制中间件
在ASP.NET Core中,速率限制中间件用于控制客户端请求速率,防止服务器过载并提高安全性。通过`AddRateLimiter`注册服务,并配置不同策略如固定窗口、滑动窗口、令牌桶和并发限制。这些策略可在全局、控制器或动作级别应用,支持自定义响应处理。使用中间件`UseRateLimiter`启用限流功能,并可通过属性禁用特定控制器或动作的限流。这有助于有效保护API免受滥用和过载。 欢迎关注我的公众号:Net分享 (239字符)
193 1
|
10月前
|
开发框架 缓存 .NET
GraphQL 与 ASP.NET Core 集成:从入门到精通
本文详细介绍了如何在ASP.NET Core中集成GraphQL,包括安装必要的NuGet包、创建GraphQL Schema、配置GraphQL服务等步骤。同时,文章还探讨了常见问题及其解决方法,如处理复杂查询、错误处理、性能优化和实现认证授权等,旨在帮助开发者构建灵活且高效的API。
239 3
|
11月前
|
消息中间件 开发框架 .NET
.NET 8 强大功能 IHostedService 与 BackgroundService 实战
【11月更文挑战第7天】本文介绍了 ASP.NET Core 中的 `IHostedService` 和 `BackgroundService` 接口及其用途。`IHostedService` 定义了 `StartAsync` 和 `StopAsync` 方法,用于在应用启动和停止时执行异步操作,适用于资源初始化和清理等任务。`BackgroundService` 是 `IHostedService` 的抽象实现,简化了后台任务的编写,通过 `ExecuteAsync` 方法实现长时间运行的任务逻辑。文章还提供了创建和注册这两个服务的实战步骤,帮助开发者在实际项目中应用这些功能。
444 0
|
12月前
|
开发框架 JavaScript 前端开发
一个适用于 ASP.NET Core 的轻量级插件框架
一个适用于 ASP.NET Core 的轻量级插件框架
171 0
|
10月前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
243 5