我想弄清楚是否有以下问题的解决方案:
假设我有一个名为OpenFiles的类。构造函数需要一个指向要打开的文件的路径和一个OpenFiles所需的Object。
class OpenFiles
{
public function __construct(Object $object,$filePath)
{
//code
}
}
在某种容器中可以找到$ object。但是每次需要这个类时,filePath都是不同的。
我的'问题'是这个课程发生变化时我需要检查所有代码并进行相应编辑。
有这种模式或解决方案吗?或者这是不可避免的?
提前致谢!
答案 0 :(得分:0)
我建议为你的对象使用一个接口,并使用该接口作为你的函数的输入参数。
interface iPermissionCollection
{
public function getPermission($name);
}
然后更改类以使用接口而不是对象。
class OpenFiles
{
public function __construct(iPermissionCollection $object,$filePath)
{
//code
}
}
如果您想稍后发送其他课程,请确保它将实施iPermissionCollection
。
所以问题不是我如何处理代码重构,如果我使用多次使用的类构造函数,但问题是如何编写这样一个使用它所需要的类,然后我可以扩展。