摘要:
查询数据,name列包含空格,如下 执行sql update `user` set `name` = REPLACE(`name`, ' ', ''); 修复后,查询数据,空格已替换 阅读全文
摘要:
1.模板方法(Template Method)模式的定义 它定义一个操作中的算法的框架,而将一些步骤延迟到了子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些步骤。它是一种类行为型模式。 2.模板方法模式的优缺点 优点: 良好的封装性。把公有的不变的方法封装在父类,而子类负责实现具体逻辑 阅读全文
摘要:
1.装饰器(Decorator)模式的定义 指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。 2.装饰器模式的主要优缺点 优点: 采用装饰模式扩展对象的功能比采用继承方式更加灵活。 可以设计出多个不同的具体装饰类,创造出多个不同行为的组合。 阅读全文
摘要:
1.观察者(Observer)模式的定义 指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。 2.观察者模式主要优缺点 优点: 降低了目标与观察者之间的耦合关系,两者之间是抽 阅读全文
摘要:
创建枚举类,以汽车为例 package com.lw.coodytest.enums; /** * @Classname CarTypeEnum * @Description 汽车类型枚举 * @Author lw * @Date 2020-01-08 11:32 */ public enum Ca 阅读全文
摘要:
转眼已经2020,距离微服务这个词落地已经过去好多年!(我记得2017年就听过这个词)。然而今天我想想什么是微服务,其实并没有一个很好的定义。为什么这样说,按照微服务的定义: 微服务架构就是将一个庞大的业务系统按照业务模块拆分成若干个独立的子系统,每个子系统都是一个独立的应用,它是一种将应用构建成一 阅读全文
摘要:
背景 数据库密码直接写在配置中,严格来说是不安全来的。Druid为此提供一种数据库密码加密的手段ConfigFilter。 druid版本为1.1.18。 加密 1.项目中引入依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>dru 阅读全文
摘要:
1.外观(Facade)模式的定义 为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 2.外观模式是“迪米特法则”的典型应用,主要优缺点 优点: 松散耦合,外观模式松散了客户端与子系统的耦合关系,让子系统内部的模块能更容易扩展和维护。 单易用, 阅读全文
摘要:
1.代理(proxy)模式的定义 给某一个对象提供一个代理,并由代理对象控制对原对象的引用。 代理模式主要分为静态代理和动态代理。 2.代理模式的主要优缺点 优点: 代理模式在客户端与目标对象之间起到一个中介作用和保护目标对象的作用; 代理对象可以扩展目标对象的功能; 代理模式能将客户端与目标对象分 阅读全文
摘要:
1.适配器模式(Adapter)的定义 将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。 适配器模式分为:类适配器模式、对象适配器模式、接口适配器模式。 2.适配器模式的主要优缺点 优点: 客户端通过适配器可以透明地调用目标接口。 复用了现存的类, 阅读全文