設計模式的目的:將易變的事物與不變的事物分開,隔離**中的更改。
/**
*/public
class
singleton6
public
static singleton6 getinstance()
}}return instance;
}}
單例模式的幾種實現方式
//餓漢式單例設計模式
public
class
runtime
private
runtime()
//...
建立型模式優點:
工廠模式優點:
**實現
//簡單工廠模式
// 抽象產品類
abstract
class
car// 具體實現類
class
benz
implements
carpublic
void
stop()
}class
ford
implements
carpublic
void
stop()
}// 工廠類
class
factoryif(
"ford"
.equals
(type)
)return c;}}
public
class
test
else
}}
//工廠模式
// 抽象產品角色
public
inte***ce
moveable
// 具體產品角色
public
class
plane
implements
moveable
}public
class
broom
implements
moveable
}// 抽象工廠
public
abstract
class
vehiclefactory
// 具體工廠
public
class
planefactory
extends
vehiclefactory
}public
class
broomfactory
extends
vehiclefactory
}// 測試類
public
class
test
}
//抽象工廠類
public
abstract
class
abstractfactory
//具體工廠類,其中food,vehicle,weapon是抽象類,
public
class
defaultfactory
extends
abstractfactory
@override
public vehicle createvehicle()
@override
public weapon createweapon()
}//測試類
public
class
test
}
**參考
參考文章1
參考文章2
**演示
建立介面
public
inte***ce
strategy
建立介面實現類
//定義實現介面的不同類
//多種實現方式
//實現類一
public
class
operationadd
implements
strategy
}//實現類二
public
class
operationsubstract
implements
strategy
}
建立 context 類
//策略執行
public
class
context
public
intexecutestrategy
(int num1,
int num2)
}
測試
//使用 context 來檢視當它改變策略時 strategy時的行為變化
public
class
strategypatterndemo
//執行結果
//10 + 5 = 15
//10 - 5 = 5
案例
場景
為了實現上述場景,我們可以採用責任鏈設計模式:案例及參考** 缺點
應用場景總結
public
inte***ce
person
public
class
laowang
implements
person
@override
public
void
getmessage
(string s)
}public
class
laoli
implements
person
@override
public
void
getmessage
(string s)
}
public
class
xiaomei
public
void
addperson
(person person)
//遍歷list,把自己的通知傳送給所有暗戀自己的人
public
void
notifyperson()
}}
public
class
test
}
常見設計模式 裝飾模式
為物件動態新增功能。裝飾者 decorator 和具體元件 concretecomponent 都繼承自元件 component 具體元件的方法實現不需要依賴於其它物件,而裝飾者組合了乙個元件,這樣它可以裝飾其它裝飾者或者具體元件。所謂裝飾,就是把這個裝飾者套在被裝飾者之上,從而動態擴充套件被裝飾者...
常見設計模式 工廠模式
簡單工廠模式 定義 是指由乙個工廠物件決定建立出哪一種產品類的例項。目的是 解決 重複利用問題,減少冗餘。優點 只需要傳入乙個正確的引數,就可以獲取所需要的物件,無須知道其建立的細節。缺點 1 不易於擴充套件過於複雜的產品結構。2 工廠類的職責相對過重,增加新的產品時需要修改工廠類的判斷邏輯,違背開...
10 常見設計模式
單例模式 保證類在記憶體中 只有乙個物件 1.餓漢式 1.私有建構函式 private xx 2.自己建立私有本類物件 private static xx new xx 3.對外提供公共訪問方法 public void getxx 2.懶漢式 延時載入 與餓漢的區別在於,物件的建立,只是宣告,1.私...