设计模式
晓寒风骤
这个作者很懒,什么都没留下…
展开
-
远程接口设计
每年系统调用复盘的时候,我都会听到以下声音你们调我的接口报错了竟然不会自己重试? 我的返回值应该从这里取 我返回isSuccess() == true,不代表业务成功,你还需要判断ERROR_CODE 这个ERROR_CODE没说全部都要重试啊! 这个ERROR_CODE必须要重试!还有很多了,本文的目标就是帮助大家思考,如何设计自己的远程接口,让接口做到健壮、易用,节省大家在这块泥...原创 2020-03-31 17:01:17 · 625 阅读 · 0 评论 -
设计模式(八):利用工厂模式+策略模式去掉if-else
假设有这么一个需求:一个电商系统,当用户消费满1000 金额,可以根据用户VIP等级,享受打折优惠。根据用户VIP等级,计算出用户最终的费用。普通会员 不打折 白银会员 优惠50元 黄金会员 8折 白金会员 优惠50元,再打7折 1 private static double getResult(long money, int type) { 2 3 doubl...原创 2020-03-10 17:16:20 · 1103 阅读 · 0 评论 -
设计模式(七):动态代理上是否能再进行一层代理
CGLIB动态代理类import java.lang.reflect.Method;import net.sf.cglib.proxy.Enhancer;import net.sf.cglib.proxy.MethodInterceptor;import net.sf.cglib.proxy.MethodProxy;public class CglibProxy implem...原创 2019-11-06 14:30:27 · 357 阅读 · 0 评论 -
设计模式(一): 单例模式
在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。省去了new操作符,降低了系统内存的使用频率,减轻GC压力。有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。(比如一个军队出现了多个司令员同时指挥,肯定会乱成一团),所以只有使用单例模式,才能保证...原创 2019-10-11 13:59:17 · 650 阅读 · 0 评论 -
设计模式(二):Spring 框架中的设计模式 (part one)
解释器设计模式建设者模式工厂方法抽象工厂设计模式有助于遵循良好的编程实践。作为最流行的Web框架之一的Spring框架也使用其中的一些。本文将介绍Spring Framework中使用的设计模式。这是5篇专题文章的第一部分。这次我们将发现Spring框架中使用的4种设计模式:解释器,构建器,工厂方法和抽象工厂。每部分将首先解释给定模式的原理。紧接着,将会使用Spring的一个例...原创 2019-10-11 14:50:55 · 161 阅读 · 0 评论 -
设计模式(三):Spring 框架中的设计模式 (part two)
代理模式复合模式策略模式模板模式在上一篇中我们在Spring中所谈到的设计模式涉及到了创建模式三剑客和1个行为模式(解释器模式)。这次我们会将眼光更多地关注在具有结构性和行为性的设计模式上。在这篇文章中,我们将看到每个类型的两种模式。首先将关注类型是的结构设计模式。它将包含代理和复合。下一个将介绍行为模式:策略和模板方法。代理模式面向对象编程(OOP)可能是编程中最流行...原创 2019-10-11 14:52:50 · 107 阅读 · 0 评论 -
设计模式(四):Spring 框架中的设计模式 (part three)
原型模式 对象池 观察者在之前的两篇文章中,我们看到了一些在Spring框架中实现的设计模式。这一次我们会发现这个流行框架使用的3种新模式。本文将从描述两个创意设计模式开始:原型和对象池。最后我们将重点关注行为模式—>观察者。原型模式这篇文章的第一个设计模式是原型。可以通过官方文档查找有关Spring作用域中的bean作用域的文章中介绍了类似的概念(prototype)。...原创 2019-10-11 14:53:39 · 122 阅读 · 0 评论 -
设计模式(五):Spring 框架中的设计模式 (part four)
适配器 装饰 单例本文是Spring框架中使用的设计模式第四篇。本文将在此呈现出新的3种模式。一开始,我们会讨论2种结构模式:适配器和装饰器。在第三部分和最后一部分,我们将讨论单例模式。适配器当我们需要在给定场景下(也就是给定接口)想要不改变自身行为而又想做到一些事情的情况下(就是我给电也就是接口了,你来做事也就是各种电器),使用适配器设计模式(这里再说一点,就相当于我们再一个规...原创 2019-10-11 14:54:17 · 118 阅读 · 0 评论 -
设计模式(六):Spring 框架中的设计模式 (part five)
命令模式 访问者模式通过以前的4篇文章,我们看到Spring采用了大量的关于创建和结构方面的设计模式。本文将描述属于行为方面的两种设计模式:命令和访问者。命令模式这篇文章描述的第一个行为设计模式是命令。它允许将请求封装在一个对象内并附加一个回调动作(每次遇到所所谓的回调大家就只需要理解为一个函数方法就好,省的去浪费那么多脑子)。请求被封装在命令对象之下,而请求的结果被发送到接收者。...原创 2019-10-11 14:54:46 · 118 阅读 · 0 评论