在项目开发的过程中经常遇到的一个选择模式
class A
{
private $dep;
public function __construct($dep)
{
$this->dep = $dep;
}
public function handle()
{
$this->f1();
$this->f2();
}
public function f1()
{
// 这里也依赖 $dep
}
public function f2()
{
}
}
还有下边这种模式
class A
{
public function handle($dep)
{
$this->f1($dep);
$this->f2();
}
public function f1($dep)
{
// 这里也依赖 $dep
}
public function f2()
{
}
}
针对第一种形式把参数依赖在对象内部,在调用的时候感觉相对容易,针对第二种形式感觉比较方法依赖注入,大家有没有方法论来评估这两种情况应该怎么选择
1
Ayanokouji 329 天前
为啥发 go 里边
|
2
aababc OP @Ayanokouji 我还没有完成就发布了,不知道点击到了啥
|
3
BeijingBaby 329 天前
都可以啊,一个依赖被多处使用就构造传入。单次使用,可以方法传入。
按需选择。 |
4
happinessnch 329 天前
OOP 的话要看 dep 和 A 的抽象关系,也看业务需求,也看设计思路。
时间充裕先设计再开发,deadline 要到了先干再说,又不是不能用。 |
5
aababc OP @happinessnch 老哥能不能展开说说看
|
6
happinessnch 329 天前
比如 A 订单,dep 是 VIP 对象,
为了方便计算折扣,A 持有一个 VIP 对象就很不合适。 |