想象一个用于跟踪对手之间游戏的“游戏”类。 OOP 是使用 1 种方法根据用户输入参数检索游戏更好,还是使用多种特定于检索目标的方法更好?
class Games {
function get_games($game_id = NULL, $stadium_id = NULL, $start_date = NULL,
$end_date = NULL, $count = 999); {}
}
对比
class Games {
function get_all_games($count = 999); {}
function get_game_by_id($game_id = 1); {}
function get_games_by_stadium($stadium_id = 1); {}
function get_games_by_dates($start_date = NULL; $end_date = NULL) {}
}
好处的解释和任何编码/snytax 提示将不胜感激。谢谢。
最佳答案
我对 OOP 的实践越多,我就越发现自己遵循有关将参数传递给方法的规则。有点像嵌套了很多层的 if 语句,我发现如果我有两个以上,我可能做错了什么。
保持代码简单。您正在编写一个执行某些操作的方法,而不是执行所有操作的过程代码块。如果你想玩游戏,那就玩游戏吧。如果您想获取某个日期范围内的列表,请执行此操作。
但是我要指出的是,您实际上并不需要 get_all_games() - 您可以只允许不带参数传递 get_games_by_dates()。如果它没有得到任何那么它将永远获得每个日期的游戏(所有游戏)
关于php - 具有多个参数的一种方法还是具有一个参数的多种方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7811046/