设计模式

设计模式介绍

1.设计模式分为三大类:

创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

2.6大设计原则

单一职责原则:类的设计尽量做到只有一个原因可以引起它的改变
里氏替换原则:只要父类出现的地方子类就可以出现,且替换成子类也不会出现任何错误或者异常
依赖倒置原则:针对接口编程,而不是针对实现编程
接口隔离原则:不要建立臃肿庞大的接口。即接口尽量细化,同时接口中的方法尽量少
迪米特法则: 一个对象应该对其他对象有最少的了解,也就是说一个类要对自己需要耦合或者调用的类知道的最少
开闭原则: 一个软件实体,比如类,模块,函数应该对扩展开放,对修改关闭

3.工厂模式

先举例说明一般的代码,比如我们现在要创建一个本田车,创建一个猎豹车,
两种车的抽象代码:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
我们还可以这样写:
在这里插入图片描述
简单工厂模式
 简单工厂模式顾名思义,就是最简单的工厂模式,而工厂就是加工产品的,调用者只需要把提起规范好的要求传给工厂,工厂就可以返回给调用者需要的对象,这里写一个简单工厂类
在这里插入图片描述
这时调用可以这样写
在这里插入图片描述
现在我们可以看到,现在的调用者只与工厂类有耦合关系
但是想一个问题,我们如果要增加一个汽车类-思域,那么代码该如何更改,首先我们需要创建一个思域类
在这里插入图片描述
还要在简单工厂中添加代码
在这里插入图片描述
这样工厂类SimpleCarFactory就要增加代码了,不符合软件设计的开闭原则

这就要引入工厂方法模式

工厂方法模式
工厂方法模式是每一种产品对应一种工厂,所有的工厂都实现了工厂接口
在这里插入图片描述
本田工厂:
在这里插入图片描述
在代码中创建本田车就变成了这样
在这里插入图片描述
我们要增加一辆保时捷车,工厂方法模式会怎么做

首先,我们要创建比保时捷类
在这里插入图片描述
这时候,直接增加一个保时捷工厂即可,不用修改原来的代码:
在这里插入图片描述

4.抽象工厂模式

工厂方法模式是简单工厂模式的升级版,抽象工厂模式是什么呢?抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂,超级工厂定义了不止生产一种产品,该超级工厂又称为其他工厂的工厂
 我们举一个例子来看一下
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
抽象工厂模式的特点就是不可以增加产品,增加的是产品族

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZikL♡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值