设计模式

参考地址:https://www.cnblogs.com/bayu/p/8884626.html

设计模式类型:

一:创建  (创建类和对象 )

(1)类(类与子类关系 静态关系)

  例子: 鼠标 :戴尔鼠标 ,华为鼠标 (单类产品)(一个对象 )

  1.1:简单工厂:   工厂类(方法实现传入品牌得到输出对象) ,抽象鼠标类,具体品牌鼠标类,

  1.2:工厂方法:  抽象工厂类 ,具体品牌工厂类,抽象鼠标类,具体品牌鼠标类,(抽象工厂的特殊情况 )

(2)对象(对象间关系 动态关系)

  1.1:抽象工厂:(多个系列产品)一个对象 多个子系列 (多类产品对应)

    例子: 鼠标 :戴尔鼠标 ,华为鼠标,戴尔键盘,华为键盘 (多类产品)

    抽象工厂类 ,具体品牌工厂类,抽象鼠标类,具体品牌鼠标类,抽象品牌键盘类

    参考链接:https://www.cnblogs.com/wyy1234/archive/2004/01/13/9986575.html

  1.2:原型方法:拷贝原有对象完成创建 (深copy和浅Copy) (对象复制)

  1.3:单例方法:(唯一一个对象构建)

  1.4:建造者方法:一组对象的创建并按照一定算法构成;(一个大对象由几个复杂对象构成)

  例子:电脑的组成:键盘,鼠标,显示器,主板

      参考链接:https://www.cnblogs.com/zhili/p/BuilderPattern.html

二:结构(类和对象的组合)

(1)类

  1.1 适配器模式

(2)对象

  1.1  桥接模式:对象间排列组合 (is-a)

  例子:图形形状和颜色 组合成不同的新画

  1.2 组合模式:部分和整体

  例子:部门和子部门或者员工

  1.3 装饰模式:动态添加对象额外功能 (has-a)

  例子:挑选服饰

  1.4  外观模式:隐藏子系统统一接口

  例子:开电脑时各个子系统一键启动

  1.5  享元模式:重用对象,没有该对象就创造

  例子:各种颜色的车,驾驶员可以不同

  1.6 代理模式 :不能直接调用对象,例如远程调用
  例子:害羞男孩送花

  1.7 适配器模式:A类对象调用 B类对象方法

  例子:苹果手机充电需要借助 安卓数据线充电功能

三:行为(类或对象的交互)

(1)类

  1.1  解释器模式

  例子:数字转换成中文

  1.2 模板方法模式

  例子:打游戏机过程一样

(2)对象

    1.1  职责链模式

  例子:公司的请假流程

  1.2 命令模式

  例子:下饺子

  参考链接:https://www.cnblogs.com/PatrickLiu/p/7873322.html

  1.3 迭代器模式:

  例子:数组的foreach遍历

  1.4  中介者模式:中介者对象减少对象间相互引用

  例子:打牌

  1.5  备忘录模式:某个对象的状态进行保存

  例子:备份电话通讯录

  1.6 观察者模式:对象间一对多关系

  例子:微信订阅

  1.7 状态模式:对象状态改变,行为发生改变

  例子:订单状态

  1.8  策略模式:

  例子:各种工种薪水计算

  1.9 访问者模式:增加对象新操作

  例子:https://www.cnblogs.com/PatrickLiu/p/8135083.html

 

posted @ 2020-10-03 22:46  net技术的爱好者  阅读(72)  评论(0编辑  收藏  举报