面向对象编程的三大特性是什么?
封装,继承和多态.
其实在面向过程的C语言中也有封装和继承.但是多态虽然也有,但是容易出BUG.
设计模式的精髓就是在于多态的使用.我们在软件设计原则中有哪些原则呢?
- 开闭原则: 对代码的修改关闭,对扩展开放
- 依赖倒置: 高层次模块不依赖低层次模块,低层次模块也不依赖高层次,他们依赖抽象
- 里氏替换: 所有使用父类的地方,应该都可以使用自雷替换
- 单一职责: 一个类不应该过大
- 接口隔离原则: 不应该强迫接口调用者依赖他们不需要的方法,所以要对接口进行拆分.
我在工作中常用哪些设计模式呢?
- 单例设计模式
- 工厂设计模式: 返回不同的对象
- 策略设计模式: 根据初始化传参,返回不同的策略执行对象
- 适配器设计模式: 适配器实现对应的接口
- 模板设计模式: 父类把模板方法写好,然后提供一个抽象的方法,让子类去继承.
- 装饰者设计模式: 装饰者依赖的是接口
“我在工作中比较喜欢用模板模式和策略模式,上个项目中,为了解决不同用户使用不同推荐算法的问题,我……”
网友评论