
设计模式
CoderSan
样样都想学,但样样都只是入门的菜鸟一枚
展开
-
Lombok
网上优缺点: 优点 缺点 能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,提高了一定的开发效率 JDK版本升级(但我司的可能性不大) 让代码变得简洁,不用过多的去关注相应的方法 降低代码可读性(巨型构造器的存在) 属性做修改时,也简化了维护为这些属性所生成的getter/setter方法等 不支持多种参数构造器的重载 public class Student{ private Long原创 2021-11-10 23:06:02 · 1293 阅读 · 1 评论 -
设计模式:组合
又称部分整体模式 场景: 通俗易懂的例子就是: 文件夹,一个文件夹里面会有若干个子文件夹和文件,我们对文件夹的操作就可以遍历进行原创 2021-06-03 21:58:34 · 115 阅读 · 0 评论 -
设计模式:过滤器
场景: 过滤,过于简单,以至于想不到有啥好解释的 interface 过滤器接口{ public List<T> filter(List<T> list); } class 过滤器实现类 implement 过滤器接口{ @Override public List<T> filter(List<T> list){ return list.stream() // 具体实现逻辑原创 2021-06-03 20:55:04 · 105 阅读 · 0 评论 -
设计模式:桥接
场景 解决继承导致的类爆炸问题(曾经在我司的代码看到一个继承高达二十层的类) 将抽象部分和实现部分分离,可以独立变化 将多个维度设计出独立的结构原创 2021-06-03 20:44:45 · 107 阅读 · 0 评论 -
设计模式:适配器
场景: 将一个接口转换成客户需要的另一个接口 三种实现: 类的适配器 通过编写一个原创 2021-06-02 21:57:37 · 102 阅读 · 0 评论 -
设计模式:原型模式
场景: 当直接创建对象的代价比较大时,又有现成的可借鉴的对象时,就用这种,感觉其实就是直接克隆。 通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。 就是java中的克隆技术,以某个对象为原型,复制出新的对象。显然,新的对象具备原型对象的特点 优势有:效率高(直接克隆,避免了重新执行构造过程步骤) 。 克隆类似于new,但是不同于new。new创建新的对象属性采用的是默认值。克隆出的对象的属性值完全和原型对象相同。并且克隆出的新对象改变不会影响原型对象。然后,再修改克隆对原创 2021-06-02 21:04:53 · 89 阅读 · 0 评论 -
设计模式:建造者模式
使用场景 当一个类的构造函数参数超过4个,且不是所有的参数都是必选项,可以考虑使用构造函数。 // Builder在java中的简化使用 public class Product{ private final String a;//必须 private final int b;//可选 private Computer(Builder builder){ this.a=builder.a; this.b=builder.b; }原创 2021-06-02 00:45:28 · 153 阅读 · 0 评论 -
JAVA设计模式:单例模式
单例模式: 比较巧妙的做法,通过4.5之后的枚举类来实现单例模式 public enum Singleton { INSTANCE; public void doSomething() { System.out.println("doSomething"); } }原创 2021-05-31 00:42:52 · 127 阅读 · 0 评论