一分鐘讀懂設計模式 責任鏈模式

2021-10-09 08:26:55 字數 605 閱讀 6185

使用場景

責任鏈一般用於處理流程節點之類的實際業務場景中。

責任鏈主要重在責任分離處理,讓各個節點各司其職。

缺點:責任鏈如果很長,除錯比較麻煩。

比如請假申請,組長只審批小於2天的假,否則交給主管審批,主管只審批小於5天的假,否則交給經理審批,由經理做決定。

//抽象  審批人,

//true 審批通過,false 審批駁回

}/**

* 組長 小於2天請假,同意,超過2天給主管審批

*/ @override

if (days < 2)

}}/**

* 主管 小於5天請假,同意,超過5天給經理審批

*/ @override

if (days < 5)

}}/**

* 經理 小於8天同意,大於8天不批

*/ @override

if (days < 8)

system.out.println("經理不同意請假" + days + "天");

return false;

}}//使用

一分鐘讀懂設計模式 工廠模式

1具體的工廠類有乙個create的方法,利用if switch返回具體產品2create方法通常時靜態,所以也叫靜態工廠。缺點 擴充套件性差,要增加乙個產品,還需要修改工廠類方法 不同產品需要不同額外的引數時,不支援。麵條,最好都用介面 public inte ce inoodles public ...

一分鐘讀懂設計模式 單例模式

單例模式只允許建立乙個物件,因此節省記憶體,加快物件訪問速度。1.需要頻繁例項化然後銷毀的物件。2.建立物件時耗時長,耗資源,又經常用到的物件。3.頻繁訪問資料庫或檔案的物件 4.工具類物件 在類載入的時候不被初始化 不加synchronized執行緒不安全,加synchronized保證執行緒安全...

設計模式一分鐘之Adapter

將兩個不相關的類組合在一起使用,需要用到adapter模式。乙個是adaptee,乙個是adapter。實際上,兩個不相關的類想要組合在一起使用,可以修改類的介面,但是,如果我們不想修改介面,或者根本沒有源 就需要使用adapter模式。實現方法 有兩種方法,組合composition 和 繼承in...