![]() |
1
10
创建设计模式是为了解决特定的问题。无论您使用PHP还是任何其他语言,都会出现这些问题(尽管模式可能因语言而异)。大多数模式都源于面向对象的设计,但可以适应过程设置。当您遇到模式解决的问题(无论是PHP还是任何其他语言)时,请使用设计模式。不要仅仅因为它是一个“设计模式”就使用一个设计模式——知道它是如何应用的,何时应用,何时不应用。 尽管如此,设计模式所做的大部分工作都是以一种干净、可理解的方式组织代码来实现它们的目的。还有其他方法可以解决这个问题,但是设计模式是一种公认的、清晰的、可理解的方法。如果您确实需要解决某个特定模式所解决的问题,那么通常最好使用该模式(或调整该模式),而不是选择一个替代方案。 因此,在适当的情况下,使用模式对当前和未来的开发人员(更清洁、更易于理解的代码)和客户(客户)都是有益的,这样可以减少重新设计轮子的时间,使代码更健壮、更可维护。当模式不合适的时候使用模式对任何人都没有好处;这可能是一种沮丧的练习,试图调整模式来解决一个无关的问题,而不仅仅是使事情变得更复杂。 |
![]() |
2
3
IMO它们与任何非平凡的PHP应用程序都非常相关,只要您使用的模式适用于手头的问题。
不一定,你可以从积极和消极两方面考虑。大多数流行的设计模式不会直接增加任何积极的性能优势,而一些施加更多继承或类结构的模式可能会增加 可以忽略不计的 性能成本(我强调可以忽略不计)。如果适用的话,使用众所周知的模式的好处超过了这些可以忽略不计的成本。 我能想到的一个例子是,在哪一个模式可以直接提高“性能”(关于内存使用)将是对单例模式的适当使用。如果您在任何给定的时间确实只需要一个对象实例,那么您可以使用该实例来最小化内存使用。
我会说,正确使用模式可以使代码更易于维护,而不是“精简”。这将促进任何开发周期,包括敏捷,因为使用知名模式的代码更容易阅读。
主要是开发人员(特别是当开发人员是一个多个开发人员时,团队有权查看相同的代码。)这对客户有间接的影响,因为编写良好的代码明显会有较少的错误,而使用模式的软件可能会有较少的周转时间从重新发明轮子。 |
![]() |
3
1
是的,但是您必须为平台选择正确的模式。到目前为止,最重要的OO设计模式是MVC(模型视图控制器),所有主要框架(cakephp、codeigner等)都使用MVC。 |
![]() |
4
1
使用OOP方法与非OOP方法可能在 performance ,非OOP为 一点 更快,但差异几乎可以忽略不计。 我认为OO设计模式对代码组织是有益的,但是设计问题由您来决定。我认为你会比用户受益更多。无论您使用OOP还是非OOP,用户都可以看到相同的结果。 |
![]() |
5
0
什么算法(如Quicksort)是程序化编程,设计模式是面向对象的设计。它们被证明是解决一些常见问题的有效方法。 主要赞助者是一个奉献者,但作为副作用,客户可能会获得更好的最终产品。 无论它们是否相关,都取决于您选择的特定应用程序需求和方法。它听起来可能简洁,但当您开始分析应用程序并将其设计要求与现有模式进行比较时,您将知道如何以及何时使用它们。 |
![]() |
Vedant · 如何解决python啦啦队长问题?[已关闭] 2 年前 |
![]() |
cobby · 在战略模式中使用工厂模式? 2 年前 |
![]() |
Nobody · Java中带while循环的三角形模式 2 年前 |
![]() |
Eduard Stefanescu · 如何在层之间传输异常? 6 年前 |
![]() |
D. Schreier Talha Noyon · 对于目录中的每个类 6 年前 |
![]() |
Tanvi Jaywant · 如何重载类 6 年前 |