设计模式之策略

什么是策略模式?

定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换,这就叫策略模式 strategy。 比如你打算去旅行(目标),你可以选 “坐飞机”、“开私驾车” 或 “骑自行车”(不同策略)。这些方式随你挑,但不影响你 “去旅行” 这个最终目的。


设计模式之外观

什么是外观模式?

外观,也叫 Facade Pattern,就是给复杂的子系统提供一个 “统一的接待窗口”。想象你去政府办业务,如果没用外观模式,你需要跑房管局、税务局、民政局等 5 个窗口;有了外观模式,政务大厅设立了一个 “综合业务窗口”,你把材料给他,他负责在后台调动各个部门,你只需要跟这一个窗口打交道就可以了。


Spring Boot 常用模板引擎 Thymeleaf

Spring Boot 的模板引擎

现在市场上有很多模板引擎,比较典型的有 JSP、Velocity、Freemarker、Thymeleaf。所有模板引擎的思想都是一样的,都是通过组合 数据模板 来生成 目标文本。Spring Boot 推荐的模板引擎是 Thymeleaf,语法简单,功能强大。

Spring Boot 日志管理

说说日志框架的起源及现状

比如说,公司中张三要开发一个大型系统,需要打印日志的功能,他的日志完善的过程如下:

  1. System.out.println(“xxx”), 将关键数据打印在控制台;新增和去除一行日志的打印很麻烦;
  2. 使用自己写的日志框架来记录系统的一些关键信息,zhangsan-logging.jar;
  3. 接着他又把之前写的日志jar包加了几个高大上的功能,如异步模式、自动归档等,zhangsan-logging-good.jar;
  4. 公司又需要搭建新的系统,跟之前用的API不一样,张三需要给新的系统重新换上新的日志功能的实现包,zhangsan-logging-better.jar;
  5. 张三突然想到了jdbc与数据库驱动的设计方式,他写了一个统一的接口层(日志功能的一个抽象层logging-abstract.jar),然后他要做的就是给项目中导入具体的日志实现就可以了,张三之前写的日志框架都是实现的日志抽象接口;