![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
╭╯Erica
这个作者很懒,什么都没留下…
展开
-
java设计模式-回调、事件监听器、观察者模式
设计模式参考代码转载 2022-01-06 15:13:43 · 165 阅读 · 0 评论 -
java 回调函数 Callback的使用
一、回调函数简要回调函数其实是一种编程思想,尤其是在服务端或者B端开发会大量使用到。之前写了不少项目代码,但是大多都是C端,最近接触了一个服务端项目,里面设计到大量的这种思想。现在记录一下,通过代码应该很好理解这种模式.二、代码/** * 顶层接口 */public interface Callback {}//===============================/** * 具体消息回调接口 */public interface MessageCallback<原创 2021-08-23 10:53:43 · 1133 阅读 · 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 · 1262 阅读 · 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 · 68 阅读 · 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 · 234 阅读 · 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 · 75 阅读 · 0 评论 -
java多线程:balking设计模式
一个线程要去执行某个操作。但是,在发现这个操作已经被别的线程做了,于是,就没有必要再去做这样的一个操作了。面对这种问题的设计方案是多线程设计模式中的Balking模式。/*************************************** Data类 ***************************************/public class BalkingData { private final String fileName; private St.原创 2021-04-16 17:50:51 · 86 阅读 · 0 评论 -
java多线程:上下文切换设计模式
/** * 线程运行上下文设计模式 * 上下文 */@Datapublic class Context { private String name; private String cardId;}/** * 线程运行上下文设计模式 * 从数据库查询数据 */public class QueryFromDbAction { public void execute(Context context) { try { Threa原创 2021-04-16 13:41:41 · 254 阅读 · 0 评论 -
java多线程:Guarded Suspension设计模式
Guarded Suspension设计模式:Guarded是被保护的,Suspension 暂停的,当一个线程正在做某件事,这件事的优先级比较高不想被打断,可以考虑该设计模式。/** * Guarded Suspension设计模式 * 请求 * */@Getterpublic class Request { private final String value; public Request(String value) { this.value = .原创 2021-04-15 12:40:24 · 86 阅读 · 0 评论