设计模式
文章平均质量分 79
pskyfly
一个想写代码的菜菜
展开
-
23种设计模式
本文包含了23种设计模式,以及他们的适用场景原创 2022-06-03 10:03:44 · 297 阅读 · 0 评论 -
设计模式——代理模式
代理模式(对原有方法进行增强) 基本介绍 类图 通过调用代理对象来间接使用模板对象的方法,代理对象和目的对象需要实现相同的接口或者继承相同的父类 代理对象会对原有方法进行补充 静态代理(手动编写代理类) 我们自己手动创建一个代理对象,和目标类实现相同的接口或者父类,然后对目标类的每一个方法进行改写 编写一个接口: public interface ITeacher { void teach(); } 编写目标类: public class Teacher implements ITeache原创 2022-05-31 11:12:15 · 157 阅读 · 0 评论 -
设计模式——享元模式
享元模式(如果缓存中有从缓存中拿,缓存没有就创建) 场景:网站外包 我们想要一个网站以不同的形式展现出来。 传统做法是每需要一个网站就new一个这样的对象出来,这样的缺点是系统内部会出现大量相似的对象,使得系统效率降低,要是网站出现了bug,所有创建的对象都要重新创建,维护起来会很麻烦。假如有多个用户想要以新闻的形式发布,我们可以让这些用于共享一个以新闻发布的网站,这样就不用重复地创建相同的对象,网站要是出现了bug,修改起来也会很容易,这也就是下面所说的享元模式 享元模式 也叫蝇量模式,常用于系统底层优原创 2022-05-31 11:10:36 · 359 阅读 · 0 评论 -
设计模式——外观模式
外观模式(将一个场景中的功能进行封装) 场景:家庭影院 使用DVD,音响等设备的功能 传统方案:创建对应的对象直接使用 外观模式:提供一个统一的客户端来调用这些设备 完成一个功能需要许多组件配合完成,如果我们直接在main方法写回显得杂乱无章。我们可以将实现的每一个功能封装到一个外观类中,由这个外观类来负责完成这个场景的具体功能,而客户端通过调用外观类的方法来完成具体的的功能。这里外观类起到协调组件配合使用的功能 实现 其实下面这个一看就知道什么意思了,实现一个功能需要多个组件配合使用,我们可以把这个流程原创 2022-05-31 11:08:38 · 78 阅读 · 0 评论 -
设计模式——单例模式
单例模式(全局唯一) 懒加载 等到使用的时候采取加载这个对象 单例模式就是全局只有一个对象,对外提供一个访问接口,一般适用于例如线程池这样的重量级对象。 package 单例模式; public class Single { private static Single instance; Single(){ } public Single getSingle() { if(instance==null) {原创 2022-05-28 11:23:42 · 297 阅读 · 0 评论