接口可以说是一种编程规范,它定义了我们需要的功能,但是并不负责实现。既然接口并没有功能实现,那它有什么用呢?难道只是因为接口看起来更简洁吗?
在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程我想就是指按照这种思想来编程吧!实际上,在日常工作中,你已经按照接口编程了,只不过如果你没有这方面的意识,那么你只是在被动的实现这一思想;表现在频繁的抱怨别人改的代码影响了你(接口没有设计到),表现在某个模块的改动引起其他模块的大规模调整(模块接口没有很好的设计)等等。
我们在开发的时候应该为系统划分这两个层次:”规约层“、”实现层“,这是定义与实现的分离。但假如我在接口写了一个方法,然后到实现类中把它实现,需要另一个功能的时候又回到接口声明方法,这样做是很累的。正确的编码姿势是首先把所有需要的功能一一声明在接口中,不必考虑如何实现,这就使整个系统思路十分清晰明了。如果按照前面的写法,效率低也很容易就陷入”实现“的坑里。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于