![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 76
@Sup
学无止境!
展开
-
设计模式之适配器模式(Adapter)
1.定义适配器模式(Adapter)指的是将一个类的接口转换成另一个可以兼容的接口。比如我们日常生活中的转换头、古早时期使用的电池万能充,就相当于程序中使用的适配器模式。2.适配器模式的种类2.1.类适配器模式类适配器模式通过多重继承,将一个接口与另一个接口进行匹配。而对于一些面向对象语言如C#、Java不支持多重继承,那么我们就可以继承一个类,同时实现多个接口来达到适配器的效果。如下图所示:Adaptee:适配者类,它是需要被访问的、需要被适配的组件 Target:目标接口,当前原创 2022-05-25 16:39:50 · 897 阅读 · 0 评论 -
设计模式之模板模式(Template)
1.定义定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定实现。它属于行为模式中的一种。通俗的讲: 一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写一些方法实现,但调用逻辑将以抽象类中定义的方式进行。2.类图3.手写举例国人现在喜欢喝茶或者喝咖啡,两者都各有各的好处。喝咖啡和喝茶都有有着大致相同的步骤,把茶叶或者咖啡粉导入杯子中,然后倒上热水冲开,最后凉一会儿再喝。3.1.定义抽象类p原创 2022-05-25 15:15:00 · 547 阅读 · 0 评论 -
设计模式之观察者模式(Observer)
1.开发中的常用场景:聊天室程序的,服务器转发给所有客户端 邮件订阅 Servlet中,监听器的实现 JDK的AWT中事件处理模型,基于观察者模式的委派事件模型(DelegationEventModel) • 事件源----------------目标对象 • 事件监听器------------观察者 京东商城中,群发某商品打折信息2. 核心角色2.1 抽象被观察者角色: 也就是一个抽象主题,它把所有对观察者对象的引用保存在一个集合中,每个主题都可以有任意数量的观察者。抽象主原创 2022-05-24 22:55:04 · 205 阅读 · 0 评论 -
设计模式之代理模式(Proxy)
代理设计模式主要对方法前后实现增强应用场景1 打印日志2 AOP底层通过代理模式封装3 事务@Transactional 底层AOP4 Mybatis中的mapper接口5 全局捕获异常6 Lcn、Seata、分表分库框架sharding-jdbc 代理数据源7 自定义注解生效8 Rpc远程调用技术(通过dubbo调用接口只会引入接口)代理模式优缺点优点:实现扩展功能、对方法实现增强、安全性、解决代码冗余提高代码复用机制缺点:生成非常多的class文件(代理类)代理模式的原创 2022-05-24 21:09:52 · 234 阅读 · 0 评论 -
设计模式之工厂模式(Factory)
三种工厂模式的区别模式 说明 简单工厂 用来生产同一等级结构中的任意产品。 (对于增加新的产品,需要修改已有代码) 工厂方法 用来生产同一等级结构中的固定产品。(支持增加任意产品) 抽象工厂 用来生产不同产品族的全部产品。 (对于增加新的产品,无能为力;支持增加产品族) 1.简单工厂模式(又称静态工厂模式)接口定义public interface Game { void run();}Game实现类CFpublic cla原创 2022-05-23 23:39:54 · 351 阅读 · 0 评论 -
设计模式之单例模式(Singleton)
一.单例模式的定义:单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。总之,选择单例模式就是为了避免不一致状态,避免政出多头。二.单例模式原创 2022-05-23 19:50:55 · 243 阅读 · 0 评论