我有一个内部应用程序,其中一个函数包含太多 switch case。
这是在 php 中开发的。这个特定的函数用于将更改写入数据库并保留单个字段值的历史记录。所以它所做的是为每个领域都有一个案例,因为不同的领域需要应用不同的东西。
switch ($item){
case 'item1':
do_something();
case 'item2':
do_something_different():
}
在这种情况下是否有可遵循的设计模式。每个项目的功能看起来也不那么适合 future 。
更新: pastebin link
最佳答案
这不是一个好的功能。应该是三个函数,edit_name
、edit_manager
和edit_liscencedata
。您可以将所有在 case 之间重复的内容移动到您应该定义的 Change
类的构造函数中。
关于php - 如何避免大的 switch 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3433217/