
设计模式
eleven_4u
路漫漫其修远兮,吾将上下而求索、
展开
-
设计模式之适配器模式
字段适配public class BaseInfo { private String userId; private String bizId; private String bizTime; private String desc; private String address; // get and set @SneakyThrows @Override public String toString() { ret原创 2022-04-02 22:09:29 · 636 阅读 · 0 评论 -
设计模式之观察者模式
public class WeatherSubject extends Observable { private String content; public String getContent() { return content; } public void setContent(String content) { this.content = content; super.setChanged(); /原创 2022-03-30 09:40:27 · 374 阅读 · 0 评论 -
设计模式之访问者模式
接口设计public class Times { private static final SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.SSS"); // 访问者接口 public interface Task { void execute(); } public static void test(String title, Task task) { if (task原创 2020-07-10 17:29:25 · 131 阅读 · 0 评论 -
设计模式之建造者模式
JavaBean形式/** * 待构建的对象。该对象的特点: * <ol> * <li>需要用户手动的传入多个参数,并且有多个参数是可选的、顺序随意</li> * <li>该对象是不可变的(所谓不可变,就是指对象一旦创建完成,其内部状态不可变, * 更通俗的说是其成员变量不可改变)。 * 不可变对象本质上是线程安全的。</li> * <li>对象所属的类不是为了继承而设计的。</li> * </ol&g原创 2020-07-10 16:52:25 · 203 阅读 · 0 评论 -
设计模式之策略模式
接口定义public interface SmsService { /** * 发送短信 * @param content 短信内容 */ void send(String content); /** * 短信发送通道 * @return */ public SmsType smsType();}短信通道public enum SmsType { /**阿里云*/ ALIYUN,原创 2020-07-10 16:21:19 · 157 阅读 · 0 评论 -
设计模式之模板模式
改造之前 @Override public User selectUserById(Integer id) { User user = (User) redisTemplate.opsForValue().get("user:" + id); if (user == null) { synchronized (this) { user = (User ) redisTemplate.opsForValue()原创 2020-07-10 14:47:37 · 141 阅读 · 0 评论