架构师速成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. 用户获取

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

目录
相关文章
|
11天前
|
API 数据库 开发者
构建高效可靠的微服务架构:后端开发的新范式
【4月更文挑战第8天】 随着现代软件开发的复杂性日益增加,传统的单体应用架构面临着可扩展性、维护性和敏捷性的挑战。为了解决这些问题,微服务架构应运而生,并迅速成为后端开发领域的一股清流。本文将深入探讨微服务架构的设计原则、实施策略及其带来的优势与挑战,为后端开发者提供一种全新视角,以实现更加灵活、高效和稳定的系统构建。
18 0
|
25天前
|
负载均衡 测试技术 持续交付
高效后端开发实践:构建可扩展的微服务架构
在当今快速发展的互联网时代,后端开发扮演着至关重要的角色。本文将重点探讨如何构建可扩展的微服务架构,以及在后端开发中提高效率的一些实践方法。通过合理的架构设计和技术选型,我们可以更好地应对日益复杂的业务需求,实现高效可靠的后端系统。
|
25天前
|
API 数据库 数据安全/隐私保护
利用Django框架构建高效后端API服务
本文将介绍如何利用Django框架构建高效的后端API服务。通过深入分析Django框架的特性和优势,结合实际案例,探讨了如何利用Django提供的强大功能来构建高性能、可扩展的后端服务。同时,还对Django框架在后端开发中的一些常见问题进行了解决方案的探讨,并提出了一些建设性的建议。
40 3
|
25天前
|
机器学习/深度学习 自然语言处理 并行计算
大模型开发:什么是Transformer架构及其重要性?
Transformer模型革新了NLP,以其高效的并行计算和自注意力机制解决了长距离依赖问题。从机器翻译到各种NLP任务,Transformer展现出卓越性能,其编码器-解码器结构结合自注意力层和前馈网络,实现高效训练。此架构已成为领域内重要里程碑。
27 2
|
20天前
|
监控 Java 开发者
构建高效微服务架构:后端开发的新范式
在数字化转型的浪潮中,微服务架构以其灵活性、可扩展性和容错性成为企业技术战略的关键组成部分。本文深入探讨了微服务的核心概念,包括其设计原则、技术栈选择以及与容器化和编排技术的融合。通过实际案例分析,展示了如何利用微服务架构提升系统性能,实现快速迭代部署,并通过服务的解耦来提高整体系统的可靠性。
|
21天前
|
NoSQL Java Redis
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件(二)
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件
14 0
|
25天前
|
机器学习/深度学习 人工智能 搜索推荐
未来人工智能在后端开发中的应用前景
随着人工智能技术的不断发展,后端开发领域也迎来了新的机遇与挑战。本文探讨了人工智能在后端开发中的应用前景,分析了其对传统开发模式的影响和未来发展趋势。
|
5天前
|
监控 负载均衡 API
构建高性能微服务架构:后端开发的最佳实践
【4月更文挑战第14天】 在当今快速发展的软件开发领域,微服务架构已成为构建可扩展、灵活且容错的系统的首选方法。本文深入探讨了后端开发人员在设计和维护高性能微服务时需要遵循的一系列最佳实践。我们将从服务划分原则、容器化部署、API网关使用、负载均衡、服务监控与故障恢复等方面展开讨论,并结合实际案例分析如何优化微服务性能及可靠性。通过本文的阅读,读者将获得实施高效微服务架构的实用知识与策略。
|
7天前
|
小程序 前端开发 JavaScript
小程序全栈开发:前端与后端的完美结合
【4月更文挑战第12天】本文介绍了小程序全栈开发,涵盖前端和后端的关键点。前端使用WXML和WXSS进行页面结构和样式设计,JavaScript处理逻辑及组件使用;后端采用Node.js等语言处理业务逻辑、数据库设计和API接口开发。前端与后端通过数据交互实现结合,采用前后端分离模式,支持跨平台运行。调试测试后,提交微信审核并上线运营。掌握前端后端结合是小程序成功的关键。
|
25天前
|
人工智能 大数据 区块链
未来后端开发的趋势与挑战
随着技术的不断演进和应用场景的不断拓展,后端开发在未来将面临更多新的挑战和机遇。本文将探讨未来后端开发的趋势以及相关技术的发展方向,帮助读者更好地了解后端开发领域的动态。
11 1