不能灵活的使用设计模式,就是没有掌握面向对象编程

面向对象编程的三大特性是什么?

封装,继承和多态.

其实在面向过程的C语言中也有封装和继承.但是多态虽然也有,但是容易出BUG.

设计模式的精髓就是在于多态的使用.我们在软件设计原则中有哪些原则呢?

  1. 开闭原则: 对代码的修改关闭,对扩展开放
  2. 依赖倒置: 高层次模块不依赖低层次模块,低层次模块也不依赖高层次,他们依赖抽象
  3. 里氏替换: 所有使用父类的地方,应该都可以使用自雷替换
  4. 单一职责: 一个类不应该过大
  5. 接口隔离原则: 不应该强迫接口调用者依赖他们不需要的方法,所以要对接口进行拆分.

我在工作中常用哪些设计模式呢?

  1. 单例设计模式
  2. 工厂设计模式: 返回不同的对象
  3. 策略设计模式: 根据初始化传参,返回不同的策略执行对象
  4. 适配器设计模式: 适配器实现对应的接口
  5. 模板设计模式: 父类把模板方法写好,然后提供一个抽象的方法,让子类去继承.
  6. 装饰者设计模式: 装饰者依赖的是接口

“我在工作中比较喜欢用模板模式和策略模式,上个项目中,为了解决不同用户使用不同推荐算法的问题,我……”

你可能感兴趣的:(不能灵活的使用设计模式,就是没有掌握面向对象编程)