Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 将参数传递给可能显示封装的方法_Oop_Methods - Fatal编程技术网

Oop 将参数传递给可能显示封装的方法

Oop 将参数传递给可能显示封装的方法,oop,methods,Oop,Methods,我有一个类存储一些临时数据。此类具有用于清除过期数据的“deleteOld”方法 将参数传递给该函数以设置过期期限是一个好主意吗?我的意思是像deleteOld(expiredDays)这样的东西。 或者该函数应该封装expiredDays参数 deleteOld() { // get expiredDays from config } “expiredDays”是在配置中设置的常量 第一种变体看起来更灵活。但第二个看起来更糟糕,因为类客户端不需要知道任何关于过期日期的信息。第二种方法并没

我有一个类存储一些临时数据。此类具有用于清除过期数据的“deleteOld”方法

将参数传递给该函数以设置过期期限是一个好主意吗?我的意思是像
deleteOld(expiredDays)
这样的东西。 或者该函数应该封装expiredDays参数

deleteOld()
{
  // get expiredDays from config
}
“expiredDays”是在配置中设置的常量

第一种变体看起来更灵活。但第二个看起来更糟糕,因为类客户端不需要知道任何关于过期日期的信息。第二种方法并没有揭示类实现的细节

这是PHP,但我想这并不重要


你觉得怎么样?谢谢。

这取决于业务逻辑。如果某个值控制业务逻辑的某些方面,则可以将其作为参数提供。这就是参数的用途

在您的情况下,我认为
expiredDays
是管理存储数据的业务事项,因此揭示这一点没有问题。除非您的业务逻辑要求外部任何人都不得更改它。正如我所说的,这要视情况而定

您不想透露的可能是存储数据的方式(文件系统、数据库等)