程序员写代码该如何进行分层,阿里巴巴是这么规定的

  • 时间:
  • 浏览:5
  • 来源:安徽大学教务系统_安徽大学教务处_安徽大学教务管理系统青大教务
阅读模式

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

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

在业务逻辑层,会处理通用的业务,例如电商系统中的交易成单接口,会调用商品,优惠,会员等多个子系统,完成成单服务。在业务逻辑层中,一些通用的业务会被抽象出来,放到Manage层,我们还是举电商交易成单的例子,我们有一个订单查询接口,但是这个查询接口不太想去理解太多业务逻辑,例如交易的类型,业务方,订单的状态等等,可以由Service层去理解这些逻辑,然后调用Manage层对应的查询接口。Service层接口与Manage层都可以访问后方的DAO层,DAO层主要负责与数据库交互,不理解业务逻辑。 所以,我们在开发项目的过程中,虽然不用完全按照这个规范,但也至少也把项目分成若干个层次,这样,才能让代码更容易阅读与维护。关注我,让我们一起学习,共同进步!

猜你喜欢