最近在做一个项目,涉及到多方系统之间交互,也必然存在了对外接口设计.
接口本质的定义是什么?
往往谈起接口(Interface)总是会用它将抽象类(abstract)来比较,个人认为这完全没有可比较性.
抽象类本意反应的是对实体属性的抽象.譬如鸟,兔子,鱼。。。对其实体抽象成动物.
接口体现的是对本身实体行为的抽象.譬如兔子会跑,但不会飞,鸟会飞,但不会游泳.
面向接口编程,从意义上讲,更应该理解为对实体抽象体的编程+对行为抽象体的编程,也就是说面向超类型编程.
如何设计一个接口呢?特别是在对外部系统交互中,暴露接口.
1.分清职能,单一职责。
CRUD分开.

对一个product进行CRUD,一种设计是上面的,----execute(Command command).一个接口很简单,就一个方法).从设计上看确实很完美,命令模式,讲操作封装在命令中.
第二种相对来说四个接口,crud分清职能。
本文探讨了接口的本质及其在软件设计中的作用,对比了接口与抽象类的区别,并提出了面向接口编程的概念。作者强调了在设计接口时要遵循单一职责原则,通过具体的例子说明了如何将CRUD操作拆分为不同的接口。
513

被折叠的 条评论
为什么被折叠?



