我可以重複使用裝修工?我可以重複使用裝飾器嗎?
我有一個ClientDecorator
裝飾,有一個客戶端的參考實體,這個裝飾獲取客戶端數據庫調用getClient(它被裝飾之前,此方法返回的clientId,正在裝修後,返回客戶端的實例)。
好的,但是,我有一些其他實體可以使用相同的裝飾器進行裝飾,例如,我有另一個名爲questions
的表,該表有一個指向已提出問題的客戶端的引用,而我有另一個名爲schedules
的表格,它有一個客戶端的參考。
順便說一句,我可以裝飾question
和schedule
與ClientDecorator
。
但是,我也有一個QuestionDecorator
;這個人裝飾Answer
等
我怎麼可以做這個抽象,所以我可以重用裝飾器,只要我想要?
我試圖創建ClientDecorable
,QuestionDecorable
接口,但沒有取得任何進展。
你需要定義接口。就像你寫的一樣。你的裝飾器只接受實現定義接口的組件。這是要走的路。發佈你的代碼。 – busypeoples
給我一個例子@busypeoples –
你有沒有注意到'Decorator'對裝飾者來說是個壞名字?你應該給事物描述性的名字......如果我們不知道你的裝飾器會改變哪些功能,很難說出你能做什麼或不能做什麼...... –