设计模式的开发

1.工厂模式

1.创建一个接口 Fruit
在这里插入图片描述
2.创建一个类实现以上接口并重写其方法
在这里插入图片描述
3.创建一个工厂类,这里结合了反射机制
在这里插入图片描述
调用
在这里插入图片描述

2.原型模式

创建一个类,实现Cloneable接口
在这里插入图片描述
注意:
原型模式只对八种基本数据类型以及他们的封装类进行深拷贝。类似数组,集合,容器对象,引用对象我们可以通过以下形式对其进行深拷贝

继承ProtoType,做模板类
在这里插入图片描述
然后我们用一个循环创建concreteProtoType对象
在这里插入图片描述
总结:使用原型模式创建对象比直接new一个对象在性能上要好的多,因为Object类的clone方法是一个本地方法,它直接操作内存中的二进制流,特别是复制大对象时,性能的差别非常明显。

3.装饰者模式

装饰者与被装饰者拥有共同的超类,继承的目的是继承类型,而不是行为。
定义被装饰者(星巴克基类):
在这里插入图片描述
初始化被装饰者,有一些自己的装饰,这里在不加任何装饰前,被装饰者只是一杯白开水
在这里插入图片描述
定义装饰者,装饰者是调料例如:奶粉,咖啡豆等
在这里插入图片描述
定义具体的装饰类,加了奶粉的水变成了奶茶,加了咖啡豆的水变成了咖啡,对水进行装饰
在这里插入图片描述
在这里插入图片描述
调用:创建一个已经初始化的基类,用装饰者来装饰它
在这里插入图片描述

4.中介者模式

通过设置A来影响B
创建一个抽象的中介者类
在这里插入图片描述
具体逻辑实现
在这里插入图片描述
创建A和B共同的抽象类,通过抽象方法,在子类继承时,重写该方法时影响同事类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
调用:
在这里插入图片描述
1.每个对象都会在自己的状态发生改变时,告诉中介者
2.每个对象都会对中介者所发出的请求作出回应
3.通过将对象彼此解耦,增强对象的复用性
4.将控制逻辑集中,简化了系统维护

5.观察者模式

为所有具体的观察者定义一个接口
在这里插入图片描述
子类实现接口,在得到主题的通知时更新自己。
在这里插入图片描述
抽象被观察者角色,把所有对观察者对象的引用保存在一个集合中,每个被观察者角色都可以有任意数量的观察者。被观察者提供一个接口,可以增加和删除,通知观察者角色状态改变。
在这里插入图片描述
具体的被观察者去继承Subject,做具体实现

调用:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值