自学内容网 自学内容网

面试-设计模式

在这里插入图片描述

策略模式

定义了一组算法,分别封装起来,这些算法直接可以相互替换
在这里插入图片描述
在这里插入图片描述
设计模式的开闭原则:对修改关闭,对扩展开放

装饰模式

将某种算法作为一个装饰品添加到对象身上,同时可以自由穿戴更换装饰品
两个主要的角色:装饰器和被装饰的对象
装饰器和被装饰的对象要实现同一接口
(下面是装饰器的父类
在这里插入图片描述
在这里插入图片描述

观察者模式

对象的一对多关系,当一个对象的状态发生改变时,他所有的依赖者都会收到通知并自动更新,观察者模式也叫订阅发布模式
两种模式:观察者和被观察者(或者叫做订阅者和发布者)报社就是被观察者 订报纸的客户就是观察者
被观察者要保存所有观察者的列表,这样的话才能够通知观察者 遍历列表挨个调用方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

单例模式

确保一个类只有一个实例化对象,并且提供一个可以被全局访问的对象
(双重检测)
在这里插入图片描述

工厂模式

不需要开发者手动创建对象,而是提供一个容器,开发者需要对象的时候只需要从中去获取
在这里插入图片描述
在这里插入图片描述

适配器模式

将一个接口转换成用户期望的另一个接口
解决的是类之间接口不兼容的问题
在这里插入图片描述
在这里插入图片描述

代理模式

实现目标对象和业务方法的解耦合
业务代码和非业务代码分离
代理 委托 实现同一个接口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模板方法模式

提供了一个算法模板,将各个类中相同的代码统一提取出来,封装到父类中,形成一个模板,子类可以直接复用代码
(抽象方法+定义过程cook)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
servlet使用模板方法模式

责任链模式

链式调用的形式
责任指的是对请求的某些操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


原文地址:https://blog.csdn.net/weixin_43627723/article/details/142406720

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!