设计模式第一天

  1.   活字印刷,面向对象。
  2.   面向对象的好处。 通过 封装、继承、多态降低程序耦合度,提升 可维护性, 可复用性,可扩展性,灵活性
  3.   关于 复制代码 和 复用代码。 复用代码需要使用封装特性 抽离类 提升复用性。
  4.   简单工厂模式:
    1.   客户端不处理是使用哪个实例化类进行使用,只提供判断条件 交由工厂类依据判断条件实例化不同的对象。
    2.   传入不同的实现类获取不同的实现方式,有利用到了面向对象 多态 的特性。
  5.   面向对象编程,并不是类越多越好,类的划分是为了封装,分类的基础是抽象。具有相同属性和功能的对象的抽象集合才是类。
  6.   策略模式:策略模式定义了算法家族,分别封装起来,让他们之间可以互相替代,此类模式让算法的改变不会影响到使用算法的客户。
  7.   策略模式 + 简单工厂模式。
  8.   策略模式封装了变化,只要在分析过程中需要在不同时间应用不同的业务规则,就可以考虑使用策略模式处理。选择具体实现的职责由客户端对象承担并转给策略模式的 Context 对象。
  9.   单一职责原则:就一个类而言,应该仅有一个引起它变化的原因,单一的职责或许是更好的选择。
  10.   一个类承担的职责过多就等于把这些职责耦合在一起。
  11.   开放-封闭原则:软件实体应该可以扩展,但是不能够修改。写好的类尽量不要去修改,当新需求来是,通过添加一些类就完事了,原来的代码能不动则不动。
  12.   拒绝不成熟的抽象和抽象本身一样重要,
  13.   依赖倒转原则:抽象不应该依赖实现,实现应该依赖抽象。 即面向接口编程而不是面向实现编程。
  14.   高层模块不应该依赖低层模块。两个都应该依赖抽象。 热插拔。 软件实现应该 强内聚,松耦合, 一个模块的问题,不应该影响其他模块的使用。
  15.   里氏代换原则: 子类必须能够替换掉他们的父类。 一个软件实体如果使用一个父类的话,那么一定可以使用其子类,而且觉察不出父类对象和子类对象的区别。
  16.   只有当子类可以替换掉父类,软件单位的功能不会受到影响的时候,父类才能真正的被复用,而子类也能够在父类的基础上增加新的行为。
posted @ 2019-04-18 21:06  不要西红柿  阅读(96)  评论(0编辑  收藏  举报