设计模式
文章平均质量分 89
遇见更好的自己、
勤奋是改变命运的唯一途径
展开
-
迭代器设计模式
迭代器模式,也叫游标模式。它用来遍历集合对象。这里说的集合对象,我们也可以叫容器”“聚合对象,实际上就是包含一组对象的对象,比如,数组、链表、树、图、跳表。遍历集合一般有三种方式:for循环、foreach循环、迭代器遍历。后两种本质上属于一种,都可以看作迭代器遍历。相对于for循环遍历,利用迭代器来遍历有下面三个优势:迭代器模式封装集合内部的复杂数据结构,开发者不需要了解如何遍历,直接使用容器提供的迭代器即可;原创 2023-04-27 17:10:57 · 490 阅读 · 0 评论 -
状态设计模式
状态模式是状态机的一种实现方式即可。状态机又叫有限状态机,它有3个部分组成:状态、事件、动作。其中,事件也称为转移条件。事件触发状态的转移及动作的执行。不过,动作不是必须的,也可能只转移状态,不执行任何动作。状态机的三种实现方式第一种实现方式叫分支逻辑法。利用if-else或者分支逻辑,参照状态转移图,将每一个状态转移原模原样地直译成代码。对于简单的状态机来说,这种实现方式最简单、最直接,是首选。第二种实现方式叫查表法。对于状态很多、状态转移比较复杂的状态机来说,查表法比较合适。原创 2023-04-26 18:25:59 · 3922 阅读 · 0 评论 -
责任链设计模式
在我们日常工作中,对过滤器、拦截器应该不会陌生,我们经常会Servelet Fliter、Spring Inerceptor去做一些复用或者扩展的功能,其实他们都使用了一种设计模式,就是责任链模式。原创 2023-04-24 19:06:04 · 419 阅读 · 0 评论 -
策略设计模式
我们在日常工作中,会经常看见代码中维护着大量的if/else,特别是在一些特别久的系统中,一个方法又长、无用的判断又不敢确认,是否可以及时清理掉。今天我们要说策略模式就能很好的解决这个问题。策略类的定义比较简单,包含一个策略接口和一组实现这个接口的策略类。因为所有的策略类都实现相同的接口,所以,客户端代码基于接口而非实现编程,可以灵活地替换不同的策略。@Override//具体的算法...@Override//具体的算法...原创 2023-04-23 19:58:45 · 557 阅读 · 0 评论 -
模板方法设计模式
这里的算法,我们可以理解为。原创 2023-04-19 20:22:31 · 457 阅读 · 0 评论 -
观察者设计模式
一般情况下,被依赖的对象为被观察者(Observable),依赖的对象叫做观察者(Observer)。原创 2023-04-18 19:33:19 · 526 阅读 · 0 评论 -
享元设计模式
享元模式的代码实现非常简单,主要是通过工厂模式,在工厂类中,通过一个Map或者List来缓存已经创建好的享元对象,以达到复用的目的。应用单例模式是为了保证对象全局唯一。应用享元模式是为了实现对象复用,节省内存。缓存是为了提高访问效率,而非复用。池化技术中的复用理解为重复使用,主要是为了节省时间。原创 2023-04-13 18:34:10 · 476 阅读 · 0 评论 -
组合设计模式
组合模式是一种比较容易混淆的设计模式,主要在于组合二字,我们知道有个设计原则组合优于继承,这里的组合和组合设计模式又不一样?原创 2023-04-12 19:22:14 · 511 阅读 · 0 评论 -
门面设计模式
这个定义很简洁,我再进一步解释一下。假设有一个系统A,提供了abcd四个接口。系统B完成某个业务功能,需要调用A系统的abd接口。利用门面模式,我们提供一个包裹abd接口调用的门面接口x,给系统B直接使用。门面模式的应用场景。原创 2023-04-11 18:55:27 · 559 阅读 · 0 评论 -
适配器设计模式
适配器模式这个模式相对来说还是比较简单、好理解的,应用场景也很具体,总体上来讲比较好掌握。顾名思义其主要是为了做适配、为了兼容不同的接口。适配器模式有两种不同的实现模式,类适配器和对象适配器。有5种比较常见的应用场景。 适配器模式顾名思义,这个模式就是用来做适配的,它将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作。对于这个模式,有一个经常被拿来解释它的例子,就是 USB 转接头充当适配器,把两种不兼容的接口,通过转接变得可以一起工作。 原理很简单原创 2023-04-10 19:19:33 · 410 阅读 · 0 评论 -
组合优于继承
我们在平时日常开发设计的过程中,经常会有人提到一条经典的设计模式,”组合由于继承”,其实我们做更深层次的思考,我们想搞清楚这个问题,我们首先的明白,什么是组合?、什么是继承?组合的优势是什么?继承的劣势是什么?如何判断该使用组合还是继承?继承是面向对象的四大特性之一,用来表示类之间的is-a关系。原创 2023-02-20 18:59:36 · 394 阅读 · 0 评论