设计模式概念收集

设计模式入门

共享模式词汇的威力

1
2
3
4
1. 让你用更少的词汇做更充分的沟通。
2. 将说话的方式保持在模式层次,可让你待在设计圈子久一点。
3. 可帮你的开发团队快速充电。
4. 帮助初级开发人员迅速成长。

设计原则

  1. 找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。
  2. 针对接口编程(针对超类型编程),而不是针对实现编程。在运行时才指定具体的实现对象。
  3. 多用组合,少用继承。有一个比是一个更好。
  4. 为了交互对象之间的松耦合设计而努力。
  5. 类应该对扩展开放,对修改关闭。
  6. 要依赖抽象,不要依赖具体类。

常用模式

策略模式

  1. 定义: 定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
  2. 原则: 多用组合,少用继承。

观察者模式

  1. 定义: 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,他的所有依赖者都会收到
    通知并自动更新。
  2. 原则: 为了交互对象之间的松耦合设计而努力。

装饰者模式

  1. 定义: 动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
  2. 特性: 装饰者可以加上新的方法,新行为是通过旧行为前面或后面做一些计算来添加的。
    装饰者和被装饰者必须是一样的类型,也就是有共同的超类(方便替换)。
    装饰者该做的事就是增加行为到被包装对象上。
  3. 例子:
    java.io

工厂模式

  1. 定义: 定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。
  2. 优点: 将创建对象的代码集中在一个对象或方法中,可以避免代码的重复,并且更方便以后维护。这也意味着客户
    在实例化对象时,只会依赖于接口,而不是具体类。(将客户代码和真实的实现解耦)
  3. 设计原则: 要依赖抽象,不要依赖具体类。

抽象工厂模式

  1. 定义: 提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。
  2. 特性: 因为代码从实际的产品中解耦了,所以我们可以替换不同的工厂来取得不同的行为。
-------------本文结束感谢您的阅读-------------