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

看板OOAD作者 (安安您好)時間2年前 (2022/07/07 22:40), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串6/6 (看更多)
以下是他們的表單 *填表單的注意事項 https://i.imgur.com/lJSXiUU.jpg
*匯出照片及格式 https://i.imgur.com/rMikR1O.jpg
最後一張最重要是提供銀行帳戶號碼供音源總攻隊匯款 https://i.imgur.com/VvGzQHy.jpg
感覺她們男飯很有組織力,用錢砸下載也很大手筆(畢竟下載一次是android 1100韓元、iOS 1200韓元,但音源總攻隊只認1100韓元哈哈,可以下載到110幾萬韓元也是很花勞動力) 反正音源網站們都很會抓漏洞,14歲未成年的這個方法搞不好很快就被改掉了。 本篇只是讓大家在批評指教時,可以先了解內容是什麼,希望有幫各位解惑,以上。 ----- Sent from JPTT on my iPhone※ 引述《bill42362 (酒池肉林夜夜生科)》之銘言: : : 權限決定是否加上的 share(), vote(), edit(), delete() : : 比如甲因為是作者,所以為他加上 edit() 和 delete() : : 同一個物件乙看到時可能只有 vote() : : 而丙因為是甲的好友,所以可以 share(), vote() : : 推 legendmtg :你應該先考慮把share() vote edit()這些function 10/13 04:24 : : → legendmtg :做成接收A B C這些type的non-member function 10/13 04:25 : : 推 tails32100 :個人想法:就算動態加上去一樣,在調用時一樣要判斷 10/13 12:28 : : → tails32100 :直接把要用的function全寫進去,判斷寫在裡面會比較 10/13 12:29 : : → tails32100 :單純好懂 Orz 10/13 12:30 : : 推 qrtt1 :看起來沒有動態的必要,這是有沒有權限的問題啊xd 10/13 20:18 : : → qrtt1 :你需要的是一個好的權限架構吧(思 10/13 20:33 : : 推 legendmtg :提供set/get function就好了啊 為什麼要做成public? 10/13 21:10 : 小弟這個系統目前是實作在網頁上 : 所以先試著從Q大的權限架構這個點來思考 : 權限我想到的實作方法有兩種 : 1) 讓 ABC 都擁有 share(), vote(), ...method, : 將執行的動作送至伺服器,由伺服器判斷權限並回傳結果。缺 : 點是流量會非常大,伺服器不夠好可能會有點辛苦。 : 這其中又分為兩種作法: : i. 使用 non-member function 或是建立另一個接受 ABC 為 : 參數的物件專門處理這些行為。 : ii. 將所有的 ABC 物件都加上這些 methods,但這樣會造成大 : 量重複的程式片段,以後要增修都很麻煩,暫不考慮。 : 2) 將權限判斷放在 client 端,藉以減少流量,但事實上為了防 : 止偽 client,還是要在 server 端再判斷一次。 : 這也分兩種方法: : i. 在 new 物件時同時向伺服器取得權限資訊,並只為物件加 : 上允許的 methods。可惜在各種搜尋下都找不到適合的設計 : 模式,這部份還請大大多多幫忙。TT : ii. 使用類似 1) 的方法,但是在取得權限資訊後將不允許的 : 行為從 UI 部分鎖住。 : 目前感覺 2-ii 的方法是可行性最高的,也可以達到節省流量的效果。 : To L 大: 印象中有看過一篇文章,建議 set/getter 除非是有再處 : 理效果,如: setValue(a) { this.a = a/2; }。不然如果成對出 : 現時語意上跟直些設成 public 差別不大。所以我遇到這種情況通 : 常都是設成 public 比較多。 @@" : 不知道小弟這樣的想法有沒有再改進的空間,感謝大大協助!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.91.98 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/OOAD/M.1657204816.A.AFA.html

12/25 22:52, , 1F
12/25 22:52, 1F
文章代碼(AID): #1Ynl1Ghw (OOAD)
文章代碼(AID): #1Ynl1Ghw (OOAD)