如何更高效的对首页数据的展示
通常首页会有很多个板块,如果实现首页数据的展示,我们首先可能想到的就是针对每个板块设计controller-service-dao。。
即下面方案一的做法:
方案一:
1、 在后台系统中创建一张表,存储大广告位的广告数据
2、 在后台系统中对该表进行CRUD
3、 后台系统对外提供接口服务
4、 前台系统调用后台系统的提供的接口服务,即可获取到数据
5、 前台系统获取到数据后,封装成前端所需要的数据结构,功能即可实现
但这样做会很麻烦,当板块太多了就要对每个板块做重复的编码。
所以我们应该找到通用的做法,把这些板块要展示的所有数据提取做一个抽象的模型。这里我们可以把要各版块要展示的数据都看作成“内容”,我们在系统中就针对这个“内容”抽象的东西进行编码,
这样之前许多重复的工作就只需要一次就可以完成。
从而就会有经过优化后的方案:
方案二:
1、 将首页显示的广告都抽象的看作是内容
2、 在后台系统中创建一张内容表
3、 创建一个内容分类表用于区分内容的分类
4、 后台系统对内容表以及分类表进行CRUD
5、 对外提供接口服务
6、 前端系统通过接口获取数据,进行封装,即可实现
下面是展示数据的抽象的一个例子:
例如首页大广告banner通常会包含图片,url,图片提示文字,我们可以把它看成抽象概念"content‘’的成员,分别抽象成“content内容”中内容图片,内容url,内容的标题
如果是一些以文字展示为主的板块可能会有标题,内容,等,我们也可以把它看成抽象概念"content‘’的成员,分别抽象成“content内容”中标题,内容,内容url,
还有最就是最重要的商品,也可以看成是图片,标题,价格,我们也可以把它看成抽象概念"content‘’的成员,分别抽象成“content内容”中内容图片,内容标题,内容子标题
等等
通过这样的抽象,我们发现首页中任何要展示的数据我们都可以通过这个抽象的模型来表达,这样很方便我们在程序中的处理
在数据库表设计中我们就可以设计一张“cotent内容”表来存放各式各样的内容
但是我们把各版块的内容都存在一个表里不好区别它们,所以我们就还需要一个代表内容分类表来存储它们的类别作区分