个人博客 - 结构篇1.0
简述 - 可直接跳过,一些碎言碎语
最近在做个人博客网站,但是写着写着就不对劲了,重复的工作太多了,无论是后台还是网站接口重复的代码总是写了一遍又一遍,本着闲的蛋疼的时间整理一下自己的博客结构(原本想着写架构的,但是感觉还达不到那个高度,所以写结构好了)。本文不会写上太多的框架,只是解析一些我个人的博客网站,不扯了,直接上图。
博客结构
大体介绍
最外层的是项目本身,里面一层是项目(包裹了配置模块、后台模块、网站、扩展模块等),还有代码生成器,整体就是一个聚合项目。
配置模块
这个模块我个人的想法是包含各种配置,比如: knife4j 、统一返回、redis、mq 等等。 在配置模块中读取后台模块或者网站模块中的yml参数,决定某个功能是否进行注册(意思就是开启功能,有点像插件化,但是要占坑,哈哈哈哈哈哈),也可以在后台模块或者网站模块中配置某某模块的参数,来个图。
这个是我 knife4j 的配置,写的比较简单(个人博客不搞那么骚)
这个是我读取操作
配置swagger
写的比较简单,不要太在意(基本操作)。
还有一个特别的点,就是拦截器、之类的东西,还是需要写在后台模块和网站模块的(我自己定义在配置模块,写的乱七八糟的,就不放出来了),然后让配置模块去读取并装载,这样写代码清爽一些,拦截器和yml就是我上面画的线和箭头,配置模块基本说完了。
这样搞,我个人感觉会减轻后台模块和网站模块的代码,开发模块专注业务就好了。看见公司的那些配置的,真的头疼。
总结
第一: 减轻后台、网站模块的代码量、清爽
第二:做到插拔式的操作、决定是否开启功能、快乐
第三:将配置模块封装成jar引入(稍微大点的公司都是这么干的)、一次开发,到处使用,不用再去复制这样的东西、得劲
后台模块和网站模块
感觉这块不用写,微服务或者聚合项目基本都是这么干的。
后台、网站模块还有service模块以及dao模块,后台和网站模块对外,调用同一个service模块,service模块调用dao模块
这样搞权限控制就没毛病了,网站还有后台模块都是controller,各种注解往上怼,互不影响
service模块
service层专门去处理一些业务的东西,重复的代码写一次就够了。
dao模块
这块基本不用说了,开发基本都懂,放sql的
扩展模块
为啥扩展、小程序接口不来一波?app接口不整一下?这就是为什么写一个扩展模块的原因!
总结
MVC
为什么会有MVC这样的分层,controller直接调用dao不就好了吗?写三层干嘛?这就是我第一次进公司的疑问!现在答案很明显了,为了解决问题!
MVC模式设计确实很溜。都是我个人闲的蛋疼的总结,看看就好。
当前为1.0 后期还会升级的。。。。。