在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。 介绍 意图:主要将数据结构与数据 ...
分类:
其他好文 时间:
2019-11-05 10:46:32
阅读次数:
114
在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 介绍 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的 ...
分类:
其他好文 时间:
2019-11-05 10:46:13
阅读次数:
68
在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查。Null 对象不是检查空值,而是反应一个不做任何动作的关系。这样的 Null 对象也可以在数据不可用的时候提供默认的行为。 在空对象模式中,我们创建一个指定各种要执行的操作的抽象类和扩展该类的实体类, ...
分类:
其他好文 时间:
2019-11-05 10:45:16
阅读次数:
109
这个算法在算法导论上写的很晦涩,而且还搞了一大堆定义和推导。其实背后的想法很naive。 既然要做字符串匹配,那就构造一个有限自动机出来:对于长度为n的pattern,如果当前字符串匹配上了一个字符,那么自动机的状态就是1;如果当前字符串匹配上了两个字符,那么自动机的状态就是2,……如果当前字符串把 ...
分类:
其他好文 时间:
2019-11-05 01:01:52
阅读次数:
147
一、grep搜索命令 在日常使用中grep命令也是会经常用到的一个搜索命令。grep命令用于在文本中执行关键词搜索,并显示匹配的结果。 格式: Usage: grep [OPTION]... PATTERN [FILE]... 常用选项: 正则匹配: ‘\?‘:匹配其前面的字符0次或者1次; ‘\+ ...
分类:
其他好文 时间:
2019-11-04 15:19:36
阅读次数:
83
Pom依赖 <dependency> 3 <groupId>org.apache.shiro</groupId> 4 <artifactId>shiro-core</artifactId> 5 <version>${shiro.version}</version> 6 </dependency> 7 ...
分类:
其他好文 时间:
2019-11-04 10:02:36
阅读次数:
60
效果图原理表单元素中,有一个pattern属性,可以自定义正则表达式(如手机号、邮箱、.);valid伪类,可以匹配通过pattern验证的元素;invalid伪类则相反,可以匹配未通过pattern验证的元素;于是就可以随便搞啦,上面的效果图只是做一些简单的效果,更多效果以及限制大家就发挥自己的想象力咯;html布局很简单,input跟button是兄弟节点的关系,required属性是
分类:
Web程序 时间:
2019-11-03 22:14:36
阅读次数:
134
杂项随记 1. System.out.printf System.out.printf("--%s--%s--", arg1, arg2); 可以按指定格式输出参数,%s为占位符,后面跟相同个数个参数 System.out.printf("--%s--%s--", arg1, arg2); 可以按指 ...
分类:
其他好文 时间:
2019-11-03 20:00:02
阅读次数:
98
1.什么是装饰器模式 ? 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 ? 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 2、装 ...
分类:
其他好文 时间:
2019-11-03 16:38:35
阅读次数:
83
1. 前言 从一开始学习 Netty 到 rxjava、Rector,再到 java8 的 CompletableFuture,就深深的为响应式编程着迷,这种区别于传统的顺序式编程,没准未来能在编程世界开辟一片天地呢! 然后接触到了 WebFlux 框架,也是充满了浓厚的兴趣,想好好琢磨一番,奈何中 ...
分类:
编程语言 时间:
2019-11-03 10:28:02
阅读次数:
83