GoF23:设计模式概述

目录

  • 学习设计模式的意义
  • GoF23
  • 创建型模式(5种)
  • 结构型模式(7种)
  • 行为型模式(11种)
  • OOP七大原则
    • 开闭原则(总的纲领)
    • 里氏替换原则
    • 依赖倒置原则
    • 单一职责原则
    • 接口隔离原则
    • 迪米特法则
    • 合成复用原则

学习设计模式的意义

? 设计模式的本质是对面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。

? 提高抽象思维能力、知道它的应用场景

? 软件设计模式只是一种引导,要根据实际的业务做出恰当的选择

设计模式的基本要素:

  • 模式名称
  • 问题
  • 解决方案
  • 效果(优缺点,时间和空间复杂度的平衡

GoF23

一种思维,一种态度,一种进步

创建型模式(5种)

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

结构型模式(7种)

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

行为型模式(11种)

  • 模板方法模式
  • 命令模式
  • 迭代器模式
  • 观察者模式
  • 中介者模式
  • 备忘录模式
  • 解释器模式
  • 状态模式
  • 策略模式
  • 职责链模式
  • 访问者模式

OOP七大原则

开闭原则(总的纲领)

对扩展开放,对修改关闭

里氏替换原则

? 继承必须确保超类所拥有的性质在子类中仍然成立,也就是说,子类只是对基类的一种扩展,而对基类中的方法尽量不要修改。

依赖倒置原则

? 要面向接口编程,不要面向实现编程。降低程序之间的耦合性

高层模块不应该依赖底层模块,抽象不依赖于具体,具体依赖于抽象。

单一职责原则

? 一个类只执行一个任务,一个方法只让它干一件事情。不应该让它承担过多的任务。

控制类的粒度大小,将对象解耦,提高其内聚性。封装

接口隔离原则

要为各个类建立它们需要的专用接口,降低程序的耦合度

迪米特法则

只与你的直接朋友交谈,不跟"陌生人"说话

合成复用原则

尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现

原文地址:https://www.cnblogs.com/rainszj/p/12219514.html

时间: 2024-11-06 03:28:56

GoF23:设计模式概述的相关文章

设计模式-概述

设计模式概述 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案. 设计模式是一套被反复使用的.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了重用代码.让代码更容易被他人理解.保证代码可靠性. 面向对象设计模式 面向对象设计模式描述了类与相互通信的对象之间的组织关系.目的是应对变化.提高复用.减少改变. 对象 1.从概念层面讲,对象是某种拥有职责的抽象: 2.从规格层面讲,对象是一系列可以被其他对象使用的公共接口: 3.从语言实现层面来看,对象封装了代码和数据(也

设计模式概述【整理】

设计模式不是很快的提高你的编码能力,设计模式的学习,旨在避免重复编码,减少劳动量.学习设计模式,对提高编写高效代码,大有裨益.学习设计模式,首先引入设计原则. 设计原则 设计模式的核心原则是:"开-闭"原则(  Open - Closed Principle 缩写:OCP  ),一切的一切都是围绕着"开-闭"原则展开的.. 意思是,在一个系统中,对于扩展是开放的,对于修改是关闭的,一个好的系统是在不修改源代码的情况下,可以扩展你的功能..而实现开闭原则的关键就是抽象

设计模式概述 + 分类

A:设计模式概述 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.        使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性以及代码的结构更加清晰.        B:设计模式分类        创建型模式(创建对象的):    单例模式.抽象工厂模式.建造者模式.工厂模式.原型模式.        行为型模式(对象的功能):    适配器模式.桥接模式.装饰模式.组合模式.外观模式.享元模式.代理模式.  

设计模式概述与原则

一 . 设计模式概述 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型 模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式. 组合模式.享元模式. 行为型模式,共十一种:策略模式.模板方法模式.观察者模式.迭代子模式.责任 链模式.命令模式.备忘录模式.状态模式.访问者模式.中介者模式.解释器模式. 具体如下: 其中创建型有: 一.Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问

【GOF23设计模式】观察者模式

来源:http://www.bjsxt.com/ 一.[GOF23设计模式]_观察者模式.广播机制.消息订阅.网络游戏对战原理 1 package com.test.observer; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class Subject { 7 protected List<Observer> list = new ArrayList<Observer>(); 8 9 p

【GOF23设计模式】备忘录模式

来源:http://www.bjsxt.com/ 一.[GOF23设计模式]_备忘录模式.多点备忘.事务操作.回滚数据底层架构 1 package com.test.memento; 2 /** 3 * 源发器类 4 */ 5 public class Emp { 6 private String ename; 7 private int age; 8 private double salary; 9 10 //进行备忘操作,并返回备忘录对象 11 public EmpMemento memen

【GOF23设计模式】命令模式

来源:http://www.bjsxt.com/ 一.[GOF23设计模式]_命令模式.数据库事务机制底层架构实现.撤销和回复 1 package com.test.command; 2 3 public class Receiver { 4 public void action(){ 5 System.out.println("Receiver.action()"); 6 } 7 } 1 package com.test.command; 2 3 public interface C

【GOF23设计模式】模板方法模式

来源:http://www.bjsxt.com/ 一.[GOF23设计模式]_模板方法模式.钩子函数.方法回调.好莱坞原则 1 package com.test.templateMethod; 2 3 public abstract class BankTemplateMethod { 4 //具体方法 5 public void takeNumber(){ 6 System.out.println("取号排队"); 7 } 8 9 public abstract void trans

【GOF23设计模式】解释器模式 &amp; 访问者模式

来源:http://www.bjsxt.com/ 一.[GOF23设计模式]_解释器模式.访问者模式.数学表达式动态解析库式 1.解释器模式Interpreter  2.访问者模式Visitor