我有一个存储一些临时数据的类。此类具有“deleteOld”方法,用于清除过期数据。
将参数传递给该函数以设置有效期是否是个好主意?我的意思是deleteOld(expiredDays)
。
或者这个函数应该封装expiredDays参数吗?
deleteOld()
{
// get expiredDays from config
}
'expiredDays'是在config中设置的常量。
第一个变体看起来更灵活。但第二个看起来更多的OOP,因为类客户不需要知道任何关于expiredDays的事情。第二种方式没有揭示阶级实现的细节。
这是PHP,但我想这没关系
你怎么看?感谢。答案 0 :(得分:0)
它总是取决于业务逻辑。如果值控制业务逻辑的某些方面,则可以将其作为参数给出。这就是参数的用途。
在您的情况下,我认为expiredDays
是管理存储数据的业务问题,因此揭示这一点没有问题。除了您的业务逻辑要求外部没有人会改变它。正如我所说,这取决于。
您不会透露的内容可能是数据的存储方式(文件系统,数据库......)。