1. 程式人生 > >strategy和template模式區別

strategy和template模式區別

1、strategy統一的介面,實現的演算法不同,但結果是一樣的,通過組合(委託)的方式,將抽象介面的具體實現委託給組合物件實現;
2.template通過繼承的方式將邏輯(演算法)框架(不變行為)放在抽象基類中(去除子類中的程式碼重複),子類中實現特定的細節。但是有一個缺點就是其他類不能複用該子類。而strategy通過組合方式可以複用;