
设计模式
╭╯Erica
这个作者很懒,什么都没留下…
展开
-
java设计模式-回调、事件监听器、观察者模式
设计模式参考 代码转载 2022-01-06 15:13:43 · 222 阅读 · 0 评论 -
java 回调函数 Callback的使用
一、回调函数简要 回调函数其实是一种编程思想,尤其是在服务端或者B端开发会大量使用到。之前写了不少项目代码,但是大多都是C端,最近接触了一个服务端项目,里面设计到大量的这种思想。现在记录一下,通过代码应该很好理解这种模式. 二、代码 /** * 顶层接口 */ public interface Callback { } //=============================== /** * 具体消息回调接口 */ public interface MessageCallback<原创 2021-08-23 10:53:43 · 1266 阅读 · 0 评论 -
java设计模式实战:工厂模式+策略模式(注解+反射)
1.核心工厂类 /** * 工厂类:初始化加载 * 作用:这个类初始化的时候会去加载指定包下的资源,通过类加载器将Class类对象加载进来,并存储在集合里面。 * 通过Class对象获取类上的注解,通过注解范围匹配到对应的策略上。该工厂通过静态内部类对外提供单例,不失为一种优雅的实现方式。 */ public class CalPriceFactory { private static final String CAL_PRICE_PACKAGE = "org.landy.strategy.dem原创 2021-07-17 15:33:31 · 1504 阅读 · 0 评论 -
java多线程:Thread-Per-Message设计模式
Thread-Per-Message设计模式:为每个请求过来的message安排一个线程去处理,建议用线程池,代码如下: public class Message { private final String value; public Message(String value) { this.value = value; } public String getValue() { return value; } } //====.原创 2021-04-21 13:11:04 · 116 阅读 · 0 评论 -
java:Optional类的应用及策略模式的实际应用
使用Optional容器类可以有效的防止npe,同时也可以用链式调用代替多重if/else判断,推荐使用,下面结合两个小例子说明它的具体应用场景: /** * @Auther: Shen_hs * @Date: 2021/4/20 * @Description:当给前端返回Result结果集时,通过User是否为空返回两种不同的结果 */ public class Demo1 { public static void main(String[] args) { User .原创 2021-04-20 23:18:38 · 290 阅读 · 0 评论 -
java多线程:生产者消费者设计模式
public class Message { private String data; public Message(String data) { this.data = data; } public String getData() { return data; } } //==================================== public class MessageQueue { //任务队列 pr原创 2021-04-16 18:34:15 · 103 阅读 · 0 评论 -
java多线程:balking设计模式
一个线程要去执行某个操作。但是,在发现这个操作已经被别的线程做了,于是,就没有必要再去做这样的一个操作了。面对这种问题的设计方案是多线程设计模式中的Balking模式。 /*************************************** Data类 ***************************************/ public class BalkingData { private final String fileName; private St.原创 2021-04-16 17:50:51 · 154 阅读 · 0 评论 -
java多线程:上下文切换设计模式
/** * 线程运行上下文设计模式 * 上下文 */ @Data public class Context { private String name; private String cardId; } /** * 线程运行上下文设计模式 * 从数据库查询数据 */ public class QueryFromDbAction { public void execute(Context context) { try { Threa原创 2021-04-16 13:41:41 · 315 阅读 · 0 评论 -
java多线程:Guarded Suspension设计模式
Guarded Suspension设计模式:Guarded是被保护的,Suspension 暂停的,当一个线程正在做某件事,这件事的优先级比较高不想被打断,可以考虑该设计模式。 /** * Guarded Suspension设计模式 * 请求 * */ @Getter public class Request { private final String value; public Request(String value) { this.value = .原创 2021-04-15 12:40:24 · 134 阅读 · 0 评论