1.前言在Java开发中我们为了避免过多的魔法值,使用枚举类来封装一些静态的状态代码。但是在将这些枚举的意思正确而全面的返回给前端却并不是那么顺利,我们通常会使用Jackson类库序列化对象为JSON,今天就来讲一个关于使用Jackson序列化枚举的通用性技巧。2.通用枚举范式为了便于统一处理和规范统一的风格,建议指定一个统一的抽象接口,例如:/***TheinterfaceEnumerator.
分类:
编程语言 时间:
2020-08-24 16:44:06
阅读次数:
52
简述: 建造者模式将一个复杂的对象构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式包括:指挥者类、抽象建造者类、具体建造者类、具体产品类。 指挥者类:构建一个使用抽象建造者接口的对象。 抽象建造者类:为创建一个具体产品类对象的各个部件指定的抽象接口。 具体建造者类:实现抽象建造 ...
分类:
其他好文 时间:
2020-08-19 19:34:17
阅读次数:
57
建造者模式 一、概述 ? 将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 二、机构模式图 1. 建造者(Builder): 为创建一个产品对象的各个部件指定抽象接口 2. 具体建造者(ConcreteBuider):实现Builder的接口,以构建和装配该产品的各个部分 ...
分类:
其他好文 时间:
2020-06-26 16:34:40
阅读次数:
47
装饰者模式(Decorator) 装饰者模式(Decorator):动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 装饰者模式结构: 抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。 具体构件(ConcreteComponent)角 ...
分类:
其他好文 时间:
2020-06-02 11:42:00
阅读次数:
47
前言:我们都知道面向对象的三大特性:封装,继承,多态。封装和继承对于初学者而言比较好理解,但要理解多态,尤其是深入理解,初学者往往存在有很多困惑,为什么这样就可以?有时候感觉很不可思议,由此,面向对象的魅力体现了出来,那就是多态,多态用的好,可以提高程序的扩展性。常用的设计模式,比如简单工厂设计模式 ...
Linux系统调用 概念:系统调用为用户态进程提供了硬件的抽象接口。并且是用户空间访问内核的唯一手段,除异常和陷入外,它们是内核唯一的合法入口。保证系统的安全和稳定。 调用号:在Linux中,每个系统调用被赋予一个独一无二的系统调用号。当用户空间的进程执行一个系统调用时,会使用调用号指明系统调用。 ...
分类:
其他好文 时间:
2020-05-28 00:28:57
阅读次数:
55
依赖倒置原则(Dependency Inversion Priniciple,()DIP)(也叫依赖倒转原则)的定义: 高层模块不要应该依赖低层模块,他们都应该依赖抽象,抽象(接口和抽象类)不应该依赖于细节,细节(具体实现的类)应该依赖于抽象。意为要针对接口编程不要针对对象编程。 另一种描述为要针对 ...
分类:
其他好文 时间:
2020-05-17 16:11:20
阅读次数:
56
模式设计的对象: 1、客户角色:发出一个具体的命令并确定其接受者。 2、命令角色:声明了一个给所有具体命令类实现的抽象接口 3、具体命令角色:定义了一个接受者和行为的弱耦合,负责调用接受者的相应方法。 4、请求者角色:负责调用命令对象执行命令。 5、接受者角色:负责具体行为的执行。 1 using ...
1.定义 高层模块不应该依赖低层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。 代码要依赖于抽象的类,而不要依赖于具体的类。要针对接口或抽象类编程,不要针对具体实现类编程。 2.分析 为什么使用依赖倒置原则? 1)增加松耦合 抽象接口不改变,具体类实现接口,具体类容易扔掉,更换 ...
分类:
其他好文 时间:
2020-04-19 16:23:36
阅读次数:
67
1、意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 2、结构 3、参与者 Builder——为创建一个product对象的各个部件指定抽象接口; ConcreteBuilder——实现Builder的接口以构造和装配该产品的各个部件;定义并明确它所创建的表示;提供一 ...
分类:
其他好文 时间:
2020-04-12 23:05:15
阅读次数:
204