面向对象三大特征与五大原则
三大特征
- 封装:对外暴露公开的接口,增强安全,简化编程
- 首字母大小写方式代表共有私有权限
- 继承:子类继承父类,自动拥有父类的属性和方法
- 使用内嵌的方式,对结构体struct进行组合
- 多态:通过接口来实现,多态存在的三个必要条件【继承、重写、父类引用指向子类对象】
- 使用interface来实现
五大原则
- 单一功能原则
- 对于对象有单一功能的概念,比如某种行为 只能是单一行为且不能并行。
- 开闭原则
- 对于扩展要开放,对于修改要关闭。
- 里氏替换
- 子类对象可以替换父类对象,而程序逻辑不变,在Go语言中就是要面向接口开发,接口是很好替换的。
- 接口隔离原则
- 保证接口的最小化,根据业务划分接口,不能滥用。
- 依赖反转原则
- 依赖具体的实现,依赖接口来进行开发。