接口使用规范
- 开发代码的程序员分为两种角色
- 作者(服务端程序员-提供接口服务的人)
- 用户(客户端程序员-使用接口提供的服务的人)
- 一般使用第三方提供的服务时,使用者手里是没有源码的,即使有也不能修改。
7大设计原则
- 单一原则
- 每个方法、每个类、每个框架只负责一件事情。
- 里氏替换原则
- 任何能使用父类对象的地方,都应该能替换为子类对象。
- 替换后,语法不报错,逻辑无问题。
- 保证了转型的正确性
- 依赖倒置原则
- 上层(0调用者)不能直接依赖下层(被调用者),它们都应该依赖于抽象。
- 当下层剧烈变动时上层也要跟着变动,上层过于依赖于下层,就违反了依赖倒置规则。
- 抽象不应该依赖于具体,具体应该依赖于抽象。
- 开闭原则
- 扩展新功能时不影响原有功能则符合开闭原则。
- 对于扩展是开放的,但是对于修改是封闭的。
- 迪米特法则
- 一个类对其他类知道的越少越好(封装),只和朋友通信。
- 朋友:类中的字段、方法的参数、方法的返回值、方法中实例化出的对象。
- 接口隔离原则
- 客户端不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上,即不应该定义一个总接口,而是将其拆分为许多小接口。
- 组合优于继承原则
- 继承来的方法在未来底层实现可能改变,造成利用代码底层实现的当前代码错误
UML线条含义
- 继承:
图形:实线加空心三角 - 依赖:
解释:一个类作为另一个类的局部变量,方法参数,或者对该类静态方法的引用。
图形:虚线加箭头。 - 关联:
解释:一个类作为另一个类的属性。
图形:菱形加箭头(箭头指向被关联者) / 实线加箭头。 - 组合:
解释:强关联,整体离不开部分。
图形:菱形加实心箭头。 - 聚合:
解释:弱关联,整体可以离开部分。
图形:菱形是虚心。 - 实现:
图形:虚线加空心三角
或者实线加圆圈