大多数项目中的架构都如下图所示
其中facade和manager层可以根据业务需要选择是否保留
通常在项目中我们会选择对facade和service做先写接口,再做实现的处理,但是在实际开发中,好像并没有体现出先写接口的必要性,写篇文章,总结一些接口的好处,以及分析在实际开发中是否一定要接口化处理
接口的好处
- 可以让开发人员明确该类具备的功能
- 在多实现的场景下,对实现类起规范作用
- 在多人协作开发的场景下可以快速提供还未实现的方法
- java动态代理是基于接口去增强的
实际情况
- 实际工程开发中,功能从设计到实现,都由一个人完成,且service通常只有一个实现,是否需要引入接口去进行规范?
- 对于定义行为的接口,确实有保存的意义,比如工程中常用的spring框架中,就留出了很多接口,可以开发人员自由实现定义(多实现,自定义实现场景)
思考
- 如果只是单纯做业务的话,大部分的service确实不需要通过实现接口去做,一些特殊的场景除外,如利用了策略模式(应对不同,同一操作有不同的实现)