第210章

小A:“爲什麼使用Decorator?”

大B:“我們通常可以使用繼承來實現功能的拓展,如果這些需要拓展的功能的種類很繁多,那麼勢必生成很多子類,增加系統的複雜性,同時,使用繼承實現功能拓展,我們必須可預見這些拓展功能,這些功能是編譯時就確定了,是靜態的。使用Decorator的理由是:這些功能需要由用戶動態決定加入的方式和時機。Decorator提供了‘即插即用’的方法,在運行期間決定何時增加何種功能。”

第98章第111章第30章第141章第145章第11章第4章第121章第143章第151章第217章第56章第60章第121章第163章第22章第218章第32章第22章第185章第88章第120章第176章第65章第24章第148章第92章第141章第91章第109章第224章第163章第120章第53章第164章第171章第72章第226章第98章第115章第211章第170章第145章第46章第89章第116章第59章第131章第203章第4章第153章第8章第65章第196章第148章第85章第216章第19章第161章第50章第85章第141章第159章第139章第35章第84章第30章第90章第87章第157章第1章第184章第78章第15章第50章第20章第56章第116章第79章第93章第34章第169章第208章第112章第27章第71章第159章第225章第215章第9章第130章第142章第159章第134章第164章第179章第76章第21章第16章
第98章第111章第30章第141章第145章第11章第4章第121章第143章第151章第217章第56章第60章第121章第163章第22章第218章第32章第22章第185章第88章第120章第176章第65章第24章第148章第92章第141章第91章第109章第224章第163章第120章第53章第164章第171章第72章第226章第98章第115章第211章第170章第145章第46章第89章第116章第59章第131章第203章第4章第153章第8章第65章第196章第148章第85章第216章第19章第161章第50章第85章第141章第159章第139章第35章第84章第30章第90章第87章第157章第1章第184章第78章第15章第50章第20章第56章第116章第79章第93章第34章第169章第208章第112章第27章第71章第159章第225章第215章第9章第130章第142章第159章第134章第164章第179章第76章第21章第16章