作者dlikeayu (太阳拳vs野球拳)
看板OOAD
标题Fw: [请益] 询问设计模式
时间Sun Nov 4 15:32:02 2012
※ [本文转录自 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)
1F:→ hSATAC:__call() 11/03 09:57
有 Java ,c# 共用的概念解法吗? __call() 好像是特有的
虽然可以用,但我想更了解来龙去脉
感谢!
※ 编辑: dlikeayu 来自: 111.249.129.244 (11/03 12:12)
2F:→ hSATAC:应该算 reflection 吧...Java 不熟不过应该有一样概念 11/03 19:08
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: dlikeayu (210.61.247.1), 时间: 11/04/2012 15:32:02