侵入式和非侵入式的區別
1、設計理念不同
侵入式設計,就是設計者將框架功能“推"給客戶端;
而非侵入式設計,則是設計者將客戶端的功能“拿"到框架中用。
2、設計表現不同
侵入式設計有時候表現為客戶端需要繼承框架中的類;
而非侵入式設計則表現為客戶端實現框架提供的接口。
3、依賴性不同
侵入式讓用戶代碼產生對框架的依賴,這些代碼不能在框架外使用,不利于代碼的復用。但侵入式可以使用戶跟框架更好的結合,更容易更充分的利用框架提供的功能。
非侵入式的代碼則沒有過多的依賴,可以很方便的遷移到其他地方。但是與用戶代碼互動的方式可能就比較復雜。