Re: [問題] 請問設計模式裏的物件回傳
※ 引述《rokaku (暱稱能用來幹嘛?)》之銘言:
: 最近在寫一個java class供別人呼叫,
: 所以外人可寫一class來操作我的內部class
: 其中有一個method是需要指定某內部類別的資料
: 問題就卡在既然是內部類別資料, 我就不應該將內部資料export出來
: 想到一種做法是"將要指定的資料"做成一個類別放在內部類別裏供呼叫
: 可是如果外部class完全不知內部有何資料, 那這個方法就行不通
: 查了一下design pattern, 好像沒有講如何回傳內部類別
: 或者說有更好的處理方法, 希望有高人可以指點一下
: 先謝謝了
定義的外部使用者所需要的行為是什麼
例如別人要呼叫 某類別的 methodA
然而他需要某些輸入的參數及回應的參數
在這裡我偷懶點將輸入參數及回應參數放在一起
構成參數介面 interface XXXXBean
裡面只有各個參數的set 及 get 方法
然後利用工廠類別或是該操作方法methodA的類別提供建構方法去提供該物件
interface 給別人用的{
XXXBean instanceOfXXXBean();
XXXBean methodA(XXXBean){}
}
interface XXXBean{
....
}
然後你可以利用bridge樣式將你的內部物件隱藏在XXXBean裡面
那麼外面的人可以像使用你的內部物件一樣使用XXXBean,而又不會破壞封裝
提供給你參考一下
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.29.28.131
推
05/02 23:54, , 1F
05/02 23:54, 1F
討論串 (同標題文章)