0%

建造者模式

也称为生成器模式,将一个复杂对象的构建与它的表示分离,使用同样的构建过程可以创建不同的表示

复杂对象构造

核心概念

构建器模式

  • Builder 建造者接口,定义创建一个Product对象所需要的各个部件的操作
  • ConcreteBuilder 具体的构造者实现,实现各个部件的创建,并负责组装Product对象的各个部件,同时还提供一个让用户获取组装完成后的产品对象的方法
  • Director 指导者,用来使用Builder接口,以一个统一的过程来构建所需的Product对象
  • Product 产品,表示被建造者构建的复杂对象
阅读全文 »

模板方法模式

定义一个操作中的算法骨架,将一些步骤延迟在子类中实现,使得子类可以不改变一个算法的结构即可自定义该算法的某些特定步骤

文档模板填空

模板方法模式

在该模式中的抽象模板有三种方法:

  • 抽象方法:父类中只声明不实现,由子类实现,在模板方法中被调用
  • 模板方法:一个算法框架,实现对抽象方法的调度,完成固定的逻辑,对于一些不允许被改变的模板方法,一般都加上final关键字
  • 钩子方法:由抽象类声明并实现,子类可以去扩展
阅读全文 »

Runner使用

如果需要在SpringApplication启动后执行一些逻辑,可以使用ApplicationRunner或CommandLineRunner接口,这两个接口都是只有一个run方法

1
2
3
4
5
public interface ApplicationRunner {

void run(ApplicationArguments args) throws Exception;

}
1
2
3
4
5
6
public interface CommandLineRunner {


void run(String... args) throws Exception;

}
阅读全文 »

SSL协议

SSL协议全称为Secure Sockets Layer,安全套接字,该协议通过加密来保护客户个人资料,通过认证和完整性检查来确保交易安全,SSL协议在TCP上一层的应用层被实现,不会影响上层协议(如HTTP、SMTP等),但是可以保证上层协议的网络通信安全

浏览器内核

微软新版本操作系统的Edge浏览器使用的内核是EdgeHTML,GoogleChrome、Opera等浏览器使用的是Blink内核,firefox使用的主要是Gecko内核,苹果的Safari在使用WebKit内核

浏览器内核诞生的时间顺序为:Gecko ->Trident -> KHTML -> WebKit -> Presto -> Blink -> Edge -> Goanna。

Gecko作为老牌的内核,而且一直以来都被firefox支持,作为微软IE浏览器的内核Trident、KHTML以及Presto都走到了终点,不再得到支持。微软放弃了Trident,进而转向了EdgeHTML内核。

三个新锐内核EdgeHTML、Blink和Goanna都是在2010年以后诞生的,其中由微软主推的EdgeHTML,谷歌公司主推的Blink,这两个内核将在未来很长一段时间内发挥重要作用