Re: [請益] 這種情況有比 Decorator 更好的模式嗎?

作者: bill42362 (酒池肉林夜夜生科)   2013-10-12 22:51:15
※ 引述《bill42362 (酒池肉林夜夜生科)》之銘言:
: A {
: methodX();
: methodA();
: }
: B {
: methodX();
: methodB();
: }
: C {
: methodX();
: methodC();
: }
我想要的效果大概是這樣:
以 facebook 的分享來舉例
A 是分享圖片的物件,B 是影片的物件,C 是文章的物件
三個物件都有一個 display() 的 method (對應 methodX())
但是 A 的實作是貼圖,B 的實作是顯示某一畫格,
C 的實作則是顯示文字。
A 有專屬的 zoom() method (對應 methodA())
B 則是 play() (methodB())
C 是 copy() (methodC())
而我想動態加上的 methodY(), methodZ() 則可能是根據
權限決定是否加上的 share(), vote(), edit(), delete()
比如甲因為是作者,所以為他加上 edit() 和 delete()
同一個物件乙看到時可能只有 vote()
而丙因為是甲的好友,所以可以 share(), vote()
希望這樣有解釋的更清楚一點,
我希望實作出來的系統也就跟這個例子差不多了,
所以如果這樣的想法從根本上就錯也請直接吐槽 囧
再次感謝大大花時間看完!!

Links booklink

Contact Us: admin [ a t ] ucptt.com