我正在使用Laravel构建一个系统,这个系统非常复杂,如果包含太多其他内容,我想更改并清理代码以便于维护。
我有类似的东西
if(A)
{
call_a();
}
else
{
if(B)
{
call_a();
}
else
{
if()
{
call_b();
}
else
{
if(C)
{
call_a();
}
else
{
call_b();
}
}
}
}
当然它越来越复杂。
有任何帮助吗? 感谢
答案 0 :(得分:0)
我想我确切地知道你在寻找什么。我真的很喜欢this post在{+ 3}}上的Reddit:
现在是时候了解 多态 。
如果您正在进行面向对象,则未在帖子中指定 用PHP开发。如果你不是,那么你就会被if和 案例陈述,但如果你是,那么你很幸运。的 多态性 部分是为了帮助您完全消除代码类型而发明的 正在描述 - 无限长的条件陈述列表 。
在你的情况下,基本的想法是,无论你是什么行为 试图描述,这取决于某些变量的价值,可能 更好地封装在类及其子类中。从你的 然后,应用程序的观点看起来是该类的每个实例 同样,但在内部,每个对象将实现不同的 溶液
这是PHP中继承的一个快速示例,但取决于您的 特殊情况,其他多态方法可能会更好。
花一点时间阅读这篇文章是件好事。别想 关于代码这么多。多态性存在于所有面向对象中 语言,你最好挑战自己去理解 这个概念。就个人而言,我花了很多时间阅读 JavaScript设计模式,因为那是我现在的域名,但是 也许其他人可以为PHP推荐一本类似的书。