设计模式

来源:互联网 发布:美妆凯文老师的淘宝店 编辑:程序博客网 时间:2024/06/05 13:23

1.什么是设计模式?

模式:在某些场景下,针对某类问题的某种通用解决方案
场景:项目环境
问题:约束条件,项目目标等
解决方案:通用、可以复用的设计,解决约束,达到目标

2.设计模式的分类

创建型模式:对象实例化的模式,创建型模式解耦了对象的实例化过程
结构型模式:把类或对象结合在一起形成更大的结构
行为型模式:类和对象如何交互,及划分责任和算法

3.对象设计的6大原则

  • 组合复用原则
    多用组合,少用继承
    找到变化部分,抽象,封装变化
    区分“Has-A”与“Is-A”
  • 依赖倒置原则
    依赖:成员变量、方法参数、返回值
    要依赖于抽象,不要依赖于具体
    高层模块不应该依赖低层模块,二者都应该依赖其抽象
    抽象不应该依赖具体,具体应该依赖抽象
    针对接口编程,不要针对实现编程
  • 开闭原则
    对扩展开放,对修改关闭
    通过扩展已有软件系统,可以提供新的功能
    修改的关闭,保证稳定性和延续性
  • 迪米特法则
    一个对象应该与其他对象保持最少的了解。只与直接朋友交谈。
    成员变量、方法参数、方法返回值中需要的类为直接朋友
    类与类之间的关系越密切了解越多,耦合度越大
    尽量降低类与类之间的耦合
    外观模式、中介者模式
  • 里氏替换原则
    所有引用基类的地方必须能透明地使用其子类对象
    子类在扩展父类功能时不能破坏父类原有的功能
    使用继承时,遵循里氏替换原则:
    子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
    当子类重载父类方法时,方法的形参要比父类方法的参数更宽松
    当子类实现父类的抽象方法时,方法的返回值要比父类更严格
  • 单一职责原则
    类应该只有一个导致类变更的理由
    即一个类只负责一项职责

0 0