23种设计模式




开题

设计模式作用?

需求敲定了,模块划完了,你们要开工了,但是问题出来了,如果不是一个人开发,那代码如何统一起来?不扯犊子的话你总不能一个人一种代码习惯,然后找人把他们整合起来?这复杂度有点高吧…

那就解耦吧,高内聚低耦合嘛,为什么低耦合,就是为了整合规则,让每个人的代码都不能违反规则.然后在规则上将每个人的代码分开.这就叫解耦,其实解耦这个概念在很多地方都用到了,架构上也有.可得见解耦是多么的重要.

设计模式就起了这个作用.只给小组程序猿提供接口.

优点/目的?

  • 面向接口编程
  • 降低耦合度
  • 增加灵活度

分类?

  • 创建模式(解决如何在创建的过程中创建对象/对象结构)
  • 结构模式(专注于结构化的划分和设计)
  • 行为模式(专注于行为设计,如何更灵活,更大程度上可扩展,或降低耦合度)

创建模式

  • 简单工厂模式(静态工厂方法模式)
  • 工厂方法模式
  • 抽象工厂模式
  • 单例模式
  • 建造模式
  • 原始模型模式

结构模式

行为模式

学习的时候要注意什么?

  • 每个模式的类图
  • 模式的结构
  • 每个模式的角色
  • 模式的实例
  • 优缺点
  • 每个模式的应用场景

简单工厂模式

类图

角色

实例

两种方式创建工厂类,一个是利用Java反射机制,一个是根据规定创建.
https://github.com/834930269/Design-pattern/tree/master/DP/src/simplefactory