设计模式七大原则

  • PBP 基于过程 process-based programming
  • OBP 基于对象 object-based programming
  • OOP 面向对象 object-oriented programming

OOP三大特性

  • 封装
  • 继承
  • 多态

OOP七大原则

一、单一职责原则(Single-Responsibility Principle,SRP):

类的职责要单一,不能将太多的职责放在一个类中(高内聚、低耦合)

二、开闭原则(Open-Close Principal,OCP):

对扩展开放,对修改关闭(设计模式的核心原则是)

三、依赖倒置原则(Dependecy-Inversion Principle,DIP):

要依赖抽象,而不要依赖具体的实现

四、里氏替换原则(Liskov-Substituion Principle,LSP):

任何基类可以出现的地方,子类也可以出现

五、迪米特法则(Law of Demeter,LoD or LKP):

系统中的类,尽量不要与其他类互相作用,减少类之间的耦合度
定义:又叫最少知识原则(Least Knowledge Principle或简写为LKP)几种形式定义:
(1) 不要和“陌生人”说话。英文定义为:Don't talk to strangers.
(2) 只与你的直接朋友通信。英文定义为:Talk only to your immediate friends.

六、接口隔离原则(Interface-Segregation Principle,ISP):

客户端不应该依赖那些它不需要的接口。(这个法则与迪米特法则是相通的)

七、组合/聚合复用原则(Composite/Aggregate ReusePrinciple,CARP or CRP):

要尽量使用对象组合,而不是继承关系达到软件复用的目的
其中合成/聚合复用原则又可以细分为二种
聚合(Aggregation) 关系是关联关系的一种,是弱的关联关系。比如乐队(主唱,吉他手,贝斯手)
组合(Composition) 关系是关联关系的一种,是强的关联关系。比如每名乐手(灵魂、身体)

创建型模式

共五种:

  • 工厂方法模式
  • 抽象工厂模式
  • 单例模式
  • 建造者模式
  • 原型模式

结构型模式

共七种:

  • 适配器模式
  • 装饰器模式
  • 代理模式
  • 外观模式
  • 桥接模式
  • 组合模式
  • 享元模式

行为型模式

共十一种:

  • 策略模式
  • 模板方法模式
  • 观察者模式
  • 迭代器模式
  • 责任链模式
  • 命令模式
  • 备忘录模式
  • 状态模式
  • 访问者模式
  • 中介者模式
  • 解释器模式
  • qq_43638135
    妲己再美究为妃: 博主没有想过自己接一些私活干吗?我现在还没毕业,但是我也确实听说外挂市场自动化游戏脚本市场挺火热的,并且报酬也很丰厚,但是具体的我也不是很清楚,求解答。 (1个月前 #47楼) 查看回复(2) 举报 回复
    22