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); } ... }
相關文章
相關標籤/搜索