分层结构的生活例子_程序员写代码该如何进行分层,阿里巴巴是这么规定的

最近跟一个师兄吃饭,聊到他在微软的工作,感叹超过1万人维护了30年的office软件,不得不说,一个软件,能够在如此多平台,如此多历史版本中还能不断地迭代,还能把兼容性做得如此之好真是不容易。聊到一些中美程序员的差异,中国的互联网公司大多追求短平快,大部分地程序员并非软件工程专业出生,软件工程在大学也是一门比较无足轻重地必修课。但在国外,很多公司会给你充足的时间,让你慢慢把软件做好,做好的最重要一点,便是可维护。无论你的设计有多么巧妙,算法有多么高深,这些都不是好代码的标准,好的代码是可以给一个团队不停地维护,迭代中,不轻易出现混乱与差错。

c26fe48bdb8b3047d2fd1b3f96cba202.png

编程这个行业在我国盛行,也不到20年的历史,真正流行并快速发展的,也只有最近十年。以往在大多数公司里面,开发的规范比较少,大家各成一派,有着自己的风格,不过这几年,国内的一些开发规范慢慢盛行起来。今天我们来简单聊一聊阿里巴巴推出的JAVA开发规范中的服务分层。
业务分层在我们的开发中非常的常见,好处也是非常多,首先是业务分层让分工更加明确,逻辑更加清晰,更好地进行维护。其次业务分层可以让代码更加容易复用,举个简单例子,我们通常会把跟数据库交互的代码收拢到一个DAO层,如果你不这么做,会有什么问题呢?假如某一天我们对表结构进行表更,新增或者替换了字段,我们可能要修改非常多处的代码,令人头疼。最后是让业务更加容易扩展,那一层有性能问题,我们可以针对那一层该加机器就加机器,该优化就进行优化。

08ac657bbd2f5fe1c69b111b6e107c69.png


在业务逻辑层,会处理通用的业务,例如电商系统中的交易成单接口,会调用商品,优惠,会员等多个子系统,完成成单服务。在业务逻辑层中,一些通用的业务会被抽象出来,放到Manage层,我们还是举电商交易成单的例子,我们有一个订单查询接口,但是这个查询接口不太想去理解太多业务逻辑,例如交易的类型,业务方,订单的状态等等,可以由Service层去理解这些逻辑,然后调用Manage层对应的查询接口。Service层接口与Manage层都可以访问后方的DAO层,DAO层主要负责与数据库交互,不理解业务逻辑。

1b8ea7d0700bb91c484b7d315f21c941.png


所以,我们在开发项目的过程中,虽然不用完全按照这个规范,但也至少也把项目分成若干个层次,这样,才能让代码更容易阅读与维护。关注我,让我们一起学习,共同进步!(同名公众号:沙茶敏碎碎念)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值