哪种人是软件设计中的稀缺型人才?

阿里妹导读: 好的系统架构离不开好的接口设计,因此,真正懂接口设计的人往往是软件设计队伍中的稀缺型人才。

为什么在接口制定标准中说: 一流的企业做标准,二流的企业做品牌,三流的企业做产品 依赖倒置到底是什么意思 什么时候使用接口才算合理 今天,阿里匠人——张建飞将为你详细解读。


接口有什么好处(Why)

在我看来,接口在软件设计中主要有两大好处:
1. 制定标准
标准规范的制定离不开接口,制定标准的目的就是为了让定义和实现分离,而接口作为完全的抽象,是标准制定的不二之选。
这个世界的运转离不开分工协作,而分工协作的前提就是标准化。试想一下,你家的电脑能允许你把显卡从NVIDIA换成七彩虹;你家的灯泡坏了,你可以随便找一个超市买一个新的就可以换上;你把数据从Oracle换成了MySQL,但是你基于JDBC写的代码都不用动。等等这些事情的背后都是因为接口,以及基于接口定制的标准化在起作用。
在Java的世界里,有一个很NB的 区叫JCP( Java Community Process),就是专门通过JSR(Java Specification Request)来制定标准的。正是有了JSR-315(Java Servlet),我们服务端的代码才能在Tomcat和Jetty之间自由切换。

如上图所示,依赖倒置原则主要规定了两件事情:
1. 高层模块不应该依赖底层模块,两者都应该依赖抽象(如上面的图2所示)
2. 抽象不应该依赖细节,细节应该依赖抽象。
我们回头看一下,不管是Switch的设计,还是抽象Logger的设计,是不是都在遵循上面的两条定义内容呢。
实际上,DIP(依赖倒置原则)不光在对象设计,模块设计的时候有用。在架构设计的时候也非常有用,比如,我在做COLA 1.0的时候,和大多数应用架构分层设计一样,默许了Domain层可以依赖Infrastructure层。

“同大多数学科一样,学习编程的艺术首先要学会基本的规则,然后才能知道什么时候可以打破这些规则。”

640x_fmt=gif 你可能还喜欢
点击下方图片即可阅读

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年10月5日
下一篇 2019年10月5日

相关推荐