设计模式

记录一下这学期所学的设计模式,比较熟悉的工厂模式以及抽象工厂模式就不记了,得意得意

一,策略模式

针对一个问题有多种解决办法,需要选择某一种方法时使用。例如商场的商品打折,有多种计价方式;以及画图操作时,对圆,直线,正方形有不同的画法,同时还可以根据需求增加其他画法,而不必修改系统本身。

二,观察者模式

定义对象间一对多的依赖关系,当对象的状态发生改变时,(遍历)通知所有依赖的对象状态改变。在实现订阅功能时需要用到,例如我们关注了某个大佬,大佬发布了新文章,关注大佬的小虾米都会收到订阅通知。

注:Java下的util包实现了观察者模式,observer和obserable。使用了vector做容器,每一步操作都有synchronized修饰,嗯~,看来是线程安全的,但素为什么要是线程安全的



三,装饰者模式

实现动态的为一个对象添加职责/功能,将对象封装到另一个对象中,在对象的基础上做装饰。适用场合是各种可选的功能在另一个肯定要实现的功能之前或之后执行。例如打印发票,发票本身肯定要打印,但可以选择打印标题和结束语


四,适配器模式

系统中的接口不对,但行为正确,使用适配器模式将一个或多个 接口转为另一个接口


学过容易忘,哭唧唧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值