現在很多人都在用lombok,通過註解就可以簡化**,省略我們好多任務作。但是其中有兩個註解對於我們建立物件非常好用,乙個是@builder,乙個是@access;
主要是學習一下@builder這個註解所涉及到的設計模式;
1.mybatis獲取sqlsession
sqlsession sqlsession = new2.封裝controller返回資訊sqlsessionfactorybuilder()
.build(
/test.xml
")))
.opensession();
@data2.1 什麼是構造器模式將乙個複雜物件的構建與它的表示分離,使得同樣的建造過程可以建造不同的表示;(一句話總結,就是建物件唄,不過物件裡面的引數比較多複雜)public
class
resultobj
public
static
resultobj successobj(object obj)
public
static
resultobj successobj(object obj,string message)
public
static
resultobj failobj()
public
static
resultobj failobj(string message)
public
static
resultobj failobj(object result,string message)
}
2.2 建造器模式的uml圖
2.3 建造器模式的優點及不足
首先,我們一般建立物件的方法有兩種:1.構造器建立;2.通過屬性set方法建立;
構造器建立物件:
class aset方式建立物件a(string a)
a(string a,string b)
a(string a,string b,string c)
}
classb分析一下上面兩種方式存在的問題:public
void
seta()
public
string geta()
}
1.構造器建立物件,多個屬性的話,必須嚴格按照順序注入;set方法不存在這種問題;
2.構造器建立物件,可讀性差,如果物件中有多個屬性賦值 ,必須清楚每個屬性引數位置;set方法不存在這種問題;
3.set方法建立物件,物件在使用過程中,容易被錯修改;
根據上面可知,當複雜物件建立時,構造器方法可讀性很差,且屬性傳參不方便,set方法建立物件在使用過程中可能出現誤操作的缺點;
建造器模式完美的解決了上面的兩種問題;
通過建立builder介面,或者內建靜態成員類,來建立構造器;
public上面說了lombok還提供了 @access註解,這個註解的原理比較簡單,就是將傳統的set方法變成靜態,返回當前物件;class
nutritionfacts
public builder calorizes(int
calorizes)
public builder fat(int
fat)
public builder sodium(int
sodium)
public builder carbohydrate(int
carbohydrate)
//增加乙個建立物件的build
public
nutritionfacts build()
}public
nutritionfacts(builder builder)
}
class a以上就是對構造器模式的簡單介紹。}
基礎設計模式 04 複雜物件建立的建造器模式
此篇部落格,更換格式為markdown,請檢視 現在很多人都在用lombok,通過註解就可以簡化 省略我們好多任務作。但是其中有兩個註解對於我們建立物件非常好用,乙個是 builder,乙個是 access 主要是學習一下 builder這個註解所涉及到的設計模式 sqlsession sqlses...
SPRING的工程模式建立複雜物件
spring通過工廠來建立物件,而不是new方法,因為工廠能實現解耦,spring所有建立都是通過反射實現的,我們通過配置檔案向spring容器中註冊需要的類,這樣可以使我們的 更容易修改,可維護性更高 set注入簡化寫法 spring複雜物件的建立 比如 資料庫的connection 或者sqls...
js建立物件 設計模式
類的功能 本文就說說如何用js實現對類的封裝,實現上述功能,var person function name,age 如何你覺得ta不像類的話,那麼你可以這樣做 var person function name,age 有了上面的例子之後,我們在此基礎之上就可以進行我們的完善了。var person...