国内做受网站,wordpress 删除钩子,少儿编程,seo百度首页排名业务昨天有群里小伙伴咨询了一个问题#xff1a;关于如何在Blog.Core项目中#xff0c;实现多资源终端的问题#xff0c;比如这样#xff1a;一个AdminMvc的管理后台#xff08;MVC项目#xff09;#xff0c;一个WebApi项目#xff0c;一个ConsoleApp的控制台项目#xf… 昨天有群里小伙伴咨询了一个问题关于如何在Blog.Core项目中实现多资源终端的问题比如这样一个AdminMvc的管理后台MVC项目一个WebApi项目一个ConsoleApp的控制台项目比如可以用来做迁移或者定时器等工作。详细来说目前的模式是一个webapi层然后搭配servicerepository接口repository主要操作分页多表CRUD等db操作service主要负责事务缓存发邮件等相关内容。其他的一些常用Helper操作都集中到了Common层。除此之外呢会有很多的中间件和服务扩展那目前我放到了api层用着也挺好不过对于上边的这种多终端客户端的问题很不友好因为这样会导致很多文件必须拷贝多份或者需要写很多遍。那基于这个问题呢我做了调整把中间件和服务扩展单独封装了一层这样就很容易实现上边的需求了最终的结果是这样的相应的代码我放到了SpeExtensions项目分支如果没有这个分支了证明代码在主分支。这样就很好的弱化了我们的api层也是对项目解耦进一步做了调整记得把api层的不必要的nuget引用也去掉毕竟都放到了扩展层了嘛。这样看之前的api层就清爽了很多业务和逻辑依然很丰富还有没有其他扩展方案当然如果你感觉这种把扩展提出来还不能满足灵活的需求可以再细致一下针对每一个组件都做一个扩展比如这样xxx.Swagger、xxx.MiniProfiler、xxx.Aop、xxx.SqlSugar等等等等这样的话不仅仅当前项目使用其他任何项目都可以使用不过我个人感觉没什么必要看自己的需求吧。最后说一下目前这种设计方案还在dev阶段如果你使用的时候发现任何问题可以GitHub上给我提issue我基本都会改如果两个星期没问题我会覆盖master分支。