记录一下这学期所学的设计模式,比较熟悉的工厂模式以及抽象工厂模式就不记了,
一,策略模式
针对一个问题有多种解决办法,需要选择某一种方法时使用。例如商场的商品打折,有多种计价方式;以及画图操作时,对圆,直线,正方形有不同的画法,同时还可以根据需求增加其他画法,而不必修改系统本身。
二,观察者模式
定义对象间一对多的依赖关系,当对象的状态发生改变时,(遍历)通知所有依赖的对象状态改变。在实现订阅功能时需要用到,例如我们关注了某个大佬,大佬发布了新文章,关注大佬的小虾米都会收到订阅通知。
注:Java下的util包实现了观察者模式,observer和obserable。使用了vector做容器,每一步操作都有synchronized修饰,嗯~,看来是线程安全的,但素为什么要是线程安全的?
三,装饰者模式
实现动态的为一个对象添加职责/功能,将对象封装到另一个对象中,在对象的基础上做装饰。适用场合是各种可选的功能在另一个肯定要实现的功能之前或之后执行。例如打印发票,发票本身肯定要打印,但可以选择打印标题和结束语
四,适配器模式
系统中的接口不对,但行为正确,使用适配器模式将一个或多个 接口转为另一个接口
学过容易忘,哭唧唧