在大多数关于 OOP 的讨论中,都说优点是可重用性。您投入了一些额外的工作来定义您的类,它可以节省您以后创建这些对象的许多实例和扩展的时间。
一个推论似乎是,在将所有内容写入对象的权衡等于您将节省的时间之前,您不应该从过程编程切换到 OOP 编程。
一般来说,什么时候是从过程编程切换到 OOP 编程的好时机?您通常会寻找任何迹象/特征来了解您的项目需要进行转换吗?
在大多数关于 OOP 的讨论中,都说优点是可重用性。您投入了一些额外的工作来定义您的类,它可以节省您以后创建这些对象的许多实例和扩展的时间。
一个推论似乎是,在将所有内容写入对象的权衡等于您将节省的时间之前,您不应该从过程编程切换到 OOP 编程。
一般来说,什么时候是从过程编程切换到 OOP 编程的好时机?您通常会寻找任何迹象/特征来了解您的项目需要进行转换吗?
我假设这个问题是从初学者的角度/范式出发的。一旦程序员有编写面向对象代码的经验,您当然可以使用这种架构从一开始就创作一个项目。事实上,我认为自上而下的方法可以为您在大型项目上节省大量时间。
但是,对于您概述的自下而上的场景,我会说您必须自己去感受。一般而言,请参阅此维基百科文章以获取有关不同方法的更多信息。
具体到 PHP,我想说您可以使用这种方法进行迁移:
这个过程是了解 OO 细节的好方法,最终你会看到好处。它还将告诉您我的初始观点:将某些东西转换为 OO 比从一开始就具有良好(高阶)设计的表面所花费的时间要长得多。
如果这不是一个非常简单的应用程序,那么现在是时候了。实际上,您应该始终对 OOly 进行编程是有争议的,因为将来要扩展程序时会更加困难。
我认为这取决于上下文。对于使用现有 OOP 框架的图形应用程序,权衡是即时的——在某些情况下,您必须不遗余力地编写过程 GUI 代码。
但是,如果您正在处理原始数据并且不与任何 OOP 框架进行互操作,那么您可能会发现 OOP 永远没有意义。
将项目切换到 OOP 可能非常耗时。我怀疑它是否会有利可图,因为它需要大量的编码、大量的测试以及大量的重构。OOP 的整个概念与 PP 不同。
所以我建议不要在项目内切换,而是尽快开始在新项目中使用 OOP。当您感到舒适时,您可以开始为现有项目考虑 OOP 设计,并逐步在 OOP 中实现功能。但是,这将是很多工作,并且可能感觉就像重写整个项目。
这取决于任务,但是两者都完成了,这就是我的想法:
你觉得这项工作需要模块化吗?从一个中心位置管理相似或不同事物的能力?有很多重复的元素吗?快速开发或管理变更是否重要?
你觉得你要解决的问题是可预测的和重复的吗?通过以下步骤解决或通过应用算法最好地完成任务?
如果更像 1,则采用 OOP,否则,如果更像 2,则采用过程方法。
如有疑问,请使用您喜欢的。
我会在别处寻找你需要转换的迹象。对于所有的炒作——而且我是 OOP 的大力支持者——代码重用通常只在 OOP 语言中稍微好一点。
OOP 是另一个简单的工具,可以帮助您组织代码,就像过去的函数一样。这是一个伟大而有用的工具。但主要的好处是更容易编写和维护你的代码。
如果是我,并且迁移到 OOP 几乎需要完全重写,我会推迟到转换的更多实质性好处变得明显。如果您的代码有效,我不知道您为什么要重写它。