架构师速成6.11-开发框架-后端封装思路

简介: 要做一个好的开发框架并不是直接找一个现成的Spring就ok了,这个对于一般新手来说学习难度还是有点高。另外Spring还是一个通用性的框架,我们需要针对业务的定制化封装。我以java为例讲解一下后端需要做什么: 确定层数结构 parent commontestdaoservice-commonserviceweb-commonwebparent统一引入的

要做一个好的开发框架并不是直接找一个现成的Spring就ok了,这个对于一般新手来说学习难度还是有点高。另外Spring还是一个通用性的框架,我们需要针对业务的定制化封装。我以java为例讲解一下后端需要做什么:

  1. 确定层数结构
    1. parent
      1. common
      2. test
      3. dao
      4. service-common
      5. service
      6. web-common
      7. web
  2. parent统一引入的类库及版本,通过maven方式进行类库管理,在parent中定义所有引入的类库及版本,不需要其他人私自引入类库。java类库的膨胀及冲突控制的确是一项很头疼的事情,一不小心最终的项目就达到几百兆,每次编译发布就需要很长时间。我在这里强烈推荐一下一个国内开源框架nutz,无引入其他任何jar包,提供了spring和hibernate的最常用功能,只有1M。我们之前使用Spring,后来换成nutz,而且严格限制引入的jar包后,web最终打完包,才10M左右。
  3. common工具类确定及封装,不要引入过多的包,只引入最基础而且是最必须的工具类。比较极端的情况下,自己写。
    1. StringUtils,DateUtils等,这个引入common-lang
    2. 语法糖,比如 map,list等的泛型构造,isEmpty(Object ) length(Object)等
    3. JodaTime,谁用谁知道
    4. guava,缓存,限制流量
    5. log,java的日志是一大堆,建议slf4j+logback,其他的都桥接到这上面。
    6. Exception,定义异常接口 ISystemException,IBusinessException,IAuthException,及几个实现类,这个会单独起一个异常章节进行讲解。
    7. Ioc,这个一般你使用的框架已经提供了。
    8. Aop,这个一般你使用的框架已经提供了。
  4. test 单元测试,集成测试的辅助类封装,让写单元测试跟玩一样,否则没有人愿意写的。
    1. IOC容器,Spring上下文及测试类封装
    2. 通用的Mock类
  5. dao 对于db或者hbase,mongodb等一系列存储的封装,当然如果有必要还可以拆分。我针对db先说一下,其他的先不说:
    1. 全局唯一主键生成算法
    2. 主备库,多数据源
    3. 统一的IdEntity,IAuthorEntity(带修改人,修改时间记录的),所有数据库实体都继承自他2个
    4. 针对统一类的泛型增删改查封装
    5. 扩展自定义的标注,比如@Column @MyId等等用于实现自己特殊的逻辑
    6. 数据级别的权限控制
    7. 数据库事务,这个一般你使用的框架已经提供了。
  6. service-common,封装业务逻辑所需要的工具类或基础类,如果没有多少,可以和service合并。
  7. service真正的业务逻辑,根据不同的业务及规模可以进一步拆分service-a,service-b
  8. web-common,封装于界面及mvc相关,filter等等的逻辑
    1. mvc,url-mapping 这个一般框架已经提供,比如spring,nutz都会有。
    2. 异常处理,后面会单独写
    3. 单点登录filter,其他统一的filter
    4. 访问权限控制
    5. 不同后缀的处理,json,html,json及jsonp的封装
    6. 动静分离,静态文件使用nginx进行加载,设置缓存时间等等
    7. 界面统一的变量封装,比如根路径,user
    8. 用户获取

做完这些,后端的基本封装才算稍微有一个样子。

目录
相关文章
|
10天前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
107 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
2月前
|
机器学习/深度学习 安全 算法
十大主流联邦学习框架:技术特性、架构分析与对比研究
联邦学习(FL)是保障数据隐私的分布式模型训练关键技术。业界开发了多种开源和商业框架,如TensorFlow Federated、PySyft、NVFlare、FATE、Flower等,支持模型训练、数据安全、通信协议等功能。这些框架在灵活性、易用性、安全性和扩展性方面各有特色,适用于不同应用场景。选择合适的框架需综合考虑开源与商业、数据分区支持、安全性、易用性和技术生态集成等因素。联邦学习已在医疗、金融等领域广泛应用,选择适配具体需求的框架对实现最优模型性能至关重要。
514 79
十大主流联邦学习框架:技术特性、架构分析与对比研究
|
3月前
|
存储 缓存 负载均衡
后端开发中的性能优化策略
本文将探讨几种常见的后端性能优化策略,包括代码层面的优化、数据库查询优化、缓存机制的应用以及负载均衡的实现。通过这些方法,开发者可以显著提升系统的响应速度和处理能力,从而提供更好的用户体验。
106 6
|
16天前
|
人工智能 自然语言处理 并行计算
MeteoRA:多任务AI框架革新!动态切换+MoE架构,推理效率提升200%
MeteoRA 是南京大学推出的多任务嵌入框架,基于 LoRA 和 MoE 架构,支持动态任务切换与高效推理。
55 3
|
1天前
|
消息中间件 安全 NoSQL
布谷直播系统源码开发实战:从架构设计到性能优化
作为山东布谷科技的一名技术研发人员,我参与了多个直播系统平台从0到1的开发和搭建,也见证了直播行业从萌芽到爆发的全过程。今天,我想从研发角度,分享一些直播系统软件开发的经验和心得,希望能对大家有所帮助。
|
10天前
|
监控 安全 Cloud Native
企业网络架构安全持续增强框架
企业网络架构安全评估与防护体系构建需采用分层防御、动态适应、主动治理的方法。通过系统化的实施框架,涵盖分层安全架构(核心、基础、边界、终端、治理层)和动态安全能力集成(持续监控、自动化响应、自适应防护)。关键步骤包括系统性风险评估、零信任网络重构、纵深防御技术选型及云原生安全集成。最终形成韧性安全架构,实现从被动防御到主动免疫的转变,确保安全投入与业务创新的平衡。
|
16天前
|
人工智能 Java 数据处理
Java高级应用开发:基于AI的微服务架构优化与性能调优
在现代企业级应用开发中,微服务架构虽带来灵活性和可扩展性,但也增加了系统复杂性和性能瓶颈。本文探讨如何利用AI技术,特别是像DeepSeek这样的智能工具,优化Java微服务架构。AI通过智能分析系统运行数据,自动识别并解决性能瓶颈,优化服务拆分、通信方式及资源管理,实现高效性能调优,助力开发者设计更合理的微服务架构,迎接未来智能化开发的新时代。
|
2月前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
93 2
|
2月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
115 7
|
3月前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
235 3

热门文章

最新文章