关注「Java视界」公众号,获取更多技术干货
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 21 下一页
摘要: 建造者模式是将一个复杂对象的构建与它的表示分离,各自独立,同样的构建过程可以有不同的表现。 一、你会怎么办? 对于复杂对象,那假如一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,你要怎样将这个类实例化?可以有两种方式: 比如我们要画一个... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(54) 评论(0) 推荐(0)
摘要: 一、@Configuration 和 @Bean 在说@ComponentScan注解前,先来搞明白@Configuration 和 @Bean 这两个注解是干啥的。 在没有注解驱动开发前,要想在spring中注入一个bean,是通过 .xml 文件来实... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(4608) 评论(0) 推荐(0)
摘要: 一、一般的参数校验怎么做的? 我们知道在Post接受一个对象参数的时候可以使用 @Valid 去验证,然后通过统一异常处理,直接返回给前端,不用在业务代码中对这些参数进行校验。 且约束的类型也有很多,比如: @Null 被注释的元素必须为 nu... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(779) 评论(0) 推荐(0)
摘要: 给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解析器来解释文法中的句子。 一、什么是解释器模式? 解释器这个名词想必大家都不会陌生,比如编译原理中,一个算术表达式通过词法分析器形成词法单元,而后这些词法单元再通过语法分析器构建语法分析树,最... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(134) 评论(0) 推荐(0)
摘要: 类比于二维平面的坐标,或多维坐标。"桥"将多个维度的接口(或实现)连接起来,构成新的产品。 一、什么是桥接模式? 为什么关注的是多维的? 因为当某个类具有两个或两个以上的维度变化,若仅用继承将无法实现这种需要,或会使得设计变得相当臃肿。 这个多维度变化怎... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(91) 评论(0) 推荐(0)
摘要: 大多情况下,都不需要使用访问者模式,但是一旦需要使用它时,那就真的需要使用了。 一、什么出手? 既然一出手这么牛逼,那到底啥时候才会出手呢? 简单的说,就是当系统中存在一个结构比较稳定的对象,但是它的访问者会经常改变,且不同的访问者对其访问的操作也不同... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(63) 评论(0) 推荐(0)
摘要: 在享元模式中通常会出现工厂模式,需要创建一个享元工厂来负责维护一个享元池(Flyweight Pool)用于存储具有相同内部状态的享元对象。主要用于减少创建对象的数量,以减少内存占用和提高性能。 一、什么是享元模式? 在开发中会出现重复使用同一个对象的情... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(42) 评论(0) 推荐(0)
摘要: 命令模式的核心在于引入了命令类,通过命令类来降低发送者和接收者的耦合度,请求发送者只需指定一个命令对象,再通过命令对象来调用请求接收者的处理方法。 一、什么是命令模式? 命令模式可以将请求发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(94) 评论(0) 推荐(0)
摘要: 一、匹配以某字符开头某一行 (?:^|\n)字符位置.* 比如(?:^|\n)prompt.*表示以prompt开头的这一行字符串 二、 匹配以a字符串开头,b字符串结尾的字符,中间不管 a字符串位置(.+?)b字符串位置 ,比如 匹配... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(97) 评论(0) 推荐(0)
摘要: 迭代器模式提供一种方法顺序访问一个集合对象中的各个元素,而又不暴露其内部的表示。 一、为什么需要迭代器? 迭代器模式算是一个比较古老的设计模式,其源于对容器的访问,比如 Java 的 List 、Map 、数组等。 对容器对象的访问必然会设计遍历算法,可... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(40) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 21 下一页

关注「Java视界」公众号,获取更多技术干货