Fw: [請益] 詢問設計模式

看板OOAD作者 (太陽拳vs野球拳)時間12年前 (2012/11/04 15:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ [本文轉錄自 PHP 看板 #1Gb6qMcr ] 作者: dlikeayu (太陽拳vs野球拳) 看板: PHP 標題: [請益] 詢問設計模式 時間: Sat Nov 3 09:02:10 2012 最近學習OOP的設計模式 學了不少東西 但還是有些地方很困惑 有三個類別 分別為 interface IAsk { public function a1() . . . . . public function a10() } 實作 class Ask implements IAsk { //工廠模式&&singleton模式 private static $instance; public static function getInstance() { if (ServiceRepository::$instance == NULL) { ServiceRepository::$instance = new ServiceRepository; } return ServiceRepository::$instance; } public function a1(){xxx;return true;} . . . . public function a10(){xxx;return true;} } 工廠模式建立實體 class Factory { public static function api() { return Ask::getInstance(); } } ========== 以下開始程式 ========== 想請較的是 我現在想在工廠實體前 或在實作function時先前判定一樣布林 true或false 如果是false 全部實作的function不管它是在做什麼用的 都一律return false 不知道這種設計模式要用哪種實例來完成比較好? 是要再建另一個實作class 去 return 所有 function false 還是可以在Ask那支實作什麼預先判定 (可是光用想的好像變成要在每支function前都重覆判定一次,感覺很醜) 麻煩先進們指導一下 感謝! 補充: 這邊說一下我的程式用法 以後只要 EX: Factory::api()->a7(); 就能呼叫我的東西 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.249.129.244 ※ 編輯: dlikeayu 來自: 111.249.129.244 (11/03 09:03)

11/03 09:57, , 1F
__call()
11/03 09:57, 1F
有 Java ,c# 共用的概念解法嗎? __call() 好像是特有的 雖然可以用,但我想更暸解來龍去脈 感謝! ※ 編輯: dlikeayu 來自: 111.249.129.244 (11/03 12:12)

11/03 19:08, , 2F
應該算 reflection 吧...Java 不熟不過應該有一樣概念
11/03 19:08, 2F
※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: dlikeayu (210.61.247.1), 時間: 11/04/2012 15:32:02
文章代碼(AID): #1GbXdpnX (OOAD)
文章代碼(AID): #1GbXdpnX (OOAD)