【开源.NET】 分享一个前后端分离的轻量级内容管理框架

开发框架要考虑的面太多了:安全、稳定、性能、效率、扩展、整洁,还要经得起实践的考验,从零开发一个可用的框架,是很耗时费神的工作。网上很多开源的框架,为何还要自己开发?我是基于以下两点:

  1. 没找到合适的:安全、稳定、简单、易用、高效、免费;
  2. 想成为架构师;

于是就自己动手,参考网上开源的项目和借鉴网友的设计思路(特别是萧秦系列博文),结合自己的实践,开发了一个简单、易用、高效的的框架,虽然不完善,但也能解决现实中的问题。不过随着见识增广,发现没负责过千万级别的项目难以成为架构师,也不可能开发出一个完美的框架。那就先开源出来,后面慢慢维护和完善。

一、框架结构图

二、分层

从框架图看出,按代码结构业务来分为 5 层:

  1. Web: 展示层
  2. WebApi: Http 接收与响应
  3. Service: 业务逻辑和数据处理
  4. EasyCore: 半ORM(Easy.DataProxy, Easy.Office, Easy.SqlConfiguration)
  5. Model: 实体

对应解决方案的项目结构:

按功能角度分为 3 层:

  1. 浅蓝色的: 展示层
  2. 深蓝色的: Http接收与响应层
  3. 浅橙色的: 业务逻辑和数据处理层

按业务分为 2 层:

  1. 浅蓝色的: 展示层
  2. 浅橙色的: 业务逻辑和数据处理层

也就是经典的 3 层架构, 我只是把后面的业务逻辑层和数据处理层合拼为 1 层。理论上把业务逻辑和数据处理分离是很合理的,但现实是数据处理往往就是写 Sql, 而 Sql 不只是简单获取数据,很多时候会耦合有大量的业务逻辑在里面, 导致程序员去处理业务时,把一个业务需求拆分到 2 层去处理,这样不能享受分层的好处,反而带来以下副作用:

  1. 破坏单一业务的内聚性;
  2. 分散程序员的注意力:一条很合理的线性思路,分离到 2 个项目去实现;
  3. 增加程序复杂度:看懂一个业务代码的实现,要同时看两个层的代码;

当然把

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在搭建前后端分离平台时,可以使用多种框架。具体选择哪种框架取决于你的需求和技能水平。 如果你希望快速搭建一个前后端分离平台,你可以考虑使用以下框架之一: - 前端:React、Vue.js 或 Angular - 后端:Node.js、Express 或 Spring Boot React、Vue.js 和 Angular 都是流行的前端框架,能够帮助你快速构建网页界面。 Node.js、Express 和 Spring Boot 都是流行的后端框架,能够帮助你快速构建后端服务。 无论选择哪种框架,都需要具备一定的编程基础和经验,才能够顺利搭建前后端分离平台。 ### 回答2: 快速搭建一个前后端分离平台,最好选择一种成熟且易于上手的框架,以下是几种常用的选择: 1. Vue.js + Spring Boot:Vue.js是一套用于构建用户界面的渐进式JavaScript框架,可用于快速搭建前端页面,而Spring Boot是一种基于Spring框架的快速开发框架,用于构建后端服务。Vue.js和Spring Boot可以很好地配合使用,通过RESTful API实现前后端的数据交互。 2. React + Node.js:React是一套用于构建用户界面的JavaScript库,可用于快速搭建前端页面,而Node.js是一种基于JavaScript语言的开发平台,用于构建后端服务。React和Node.js结合使用,可以轻松实现前后端的分离架构。 3. Angular + ASP.NET Core:Angular是一套用于构建Web应用的JavaScript框架,可用于快速搭建前端页面,而ASP.NET Core是一种跨平台的开发框架,用于构建后端服务。Angular和ASP.NET Core可以配合使用,实现前后端分离的快速开发。 在选择框架时,要考虑自身团队的技术储备和开发经验,以及项目的需求和规模。同时,框架的社区活跃度和生态系统也是选择的重要因素,可以通过查看文档、学习资源和社区支持程度来评估框架的可行性。最后,选定框架后,根据官方文档和教程进行学习和实践,以快速搭建前后端分离平台。 ### 回答3: 快速搭建一个前后端分离平台,可以考虑使用以下框架: 1. 前端框架:Vue.js Vue.js是一个轻量级、高效的前端框架,具有简单易学、组件化、灵活性等特点。它的生态系统庞大,拥有大量的插件和组件,能够快速实现用户界面的构建,适用于构建单页面应用和响应式界面。 2. 后端框架:Node.js + Express.js Node.js是一个基于Chrome V8引擎的JavaScript运行环境,可以通过它构建高性能的后端应用程序。结合Express.js框架能够简化路由管理、中间件处理、数据库连接等操作,提高开发效率。 3. 数据库:MongoDB MongoDB是一个非关系型数据库,具有高性能、可扩展性和灵活性等特点。它适用于处理大量数据和频繁的数据读写操作,在前后端分离的平台中可以存储用户信息、配置数据和日志等。 4. 部署:Docker Docker是一个开源的应用容器引擎,可以将应用程序及其依赖打包为一个容器,实现跨平台、快速部署的目的。使用Docker可以简化应用程序的部署过程,提高应用的可移植性和可扩展性。 以上框架可以快速搭建一个前后端分离平台,实现前端与后端的解耦,并能够提供良好的用户体验和高效的开发效率。当然,选择框架还需要考虑具体的项目需求、个人开发经验和团队合作情况等因素。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值