java笔记之设计模式 一、建立型模式:工厂方法

工厂方法的目的是使建立的对象和使用的对象是分离的,而且客户端老是引用抽象工厂和抽象产品:java

 一、静态工厂方法:编程

java标准库的静态方法,如:Integer.valueOf();缓存

Integer便是产品又是静态工厂,它提供了静态工厂valueOf()来建立Integer;学习



好处在于静态工厂方法内部可进行优化,可返回一个新的实例Integer,也可直接返回一个缓存的Integer实例,节约资源。

工厂方法能够隐藏建立产品的细节,且不必定每次都会真正建立产品,彻底能够返回缓存的产品,从而提高速度并减小内存消耗。

静态工厂方法List.of();
List<String> list = List.of("A","B","C");
ArrayList<String> list = List.of("A","B","C");

调用方获取的产品老是List接口,并不关心实际类型,可修改成返回java.ArrayList;这就是里氏替换原则:返回实现接口的任意子类均可以知足该方法的要求,且不影响调用方。

老是引用接口而非实现类,能容许调用子类而不影响调用方,尽量的面向抽象编程。



备注:本随笔为学习廖雪峰大佬的Java教程过程当中记的笔记;附上原文连接:
https://www.liaoxuefeng.com/wiki/1252599548343744/1281319170474017
public final class Integer { public static Integer valueOf(int i) { if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache[i + (-IntegerCache.low)]; return new Integer(i); } ... }
相关文章
相关标签/搜索