何时从程序切换到OOP?

时间:2010-12-13 22:33:13

标签: php oop procedural-programming

在大多数关于OOP的讨论中,它说优势是可重用性。你需要做一些额外的工作来定义你的类,这样你以后就可以节省时间来创建这些对象的许多实例和扩展。 / p>

这种情况的证据似乎是你不应该从程序转换到OOP编程,直到将所有内容写入对象的权衡与你保存的时间相等。

一般来说,何时是从程序转换到OOP编程的好时机?是否有任何迹象/特征通常需要了解您的项目需要进行转换?

7 个答案:

答案 0 :(得分:4)

我假设这个问题来自于作为初学者的观点/范式。一旦程序员具有编写面向对象代码的经验,您当然可以使用此体系结构从一开始就编写项目。事实上,我认为自上而下的方法可以为大型项目节省大量时间。

对于你自下而上的情况,我会说你必须感受到它。参考this维基百科文章,了解有关不同方法的更多信息,一般来说。

特定于PHP,我想你可以使用这种方法进行迁移:

  1. 尽可能多地使用代码(即: 相关功能)并放置它们 包含文件。
  2. 为该文件创建容器类。您可以通过以static方式调用它们,甚至使用静态(单例)类来开始使用所有函数。
  3. 逐渐转换为实例范例,而不是全局数据/静态函数,这是程序编程的不良之处。
  4. 这个过程是学习面向对象的来龙去脉的好方法,最后你会看到好处。它还将告诉你我的初始观点:将一些东西转换为OO需要花费更长的时间,而不是从一开始就以良好的(高阶)设计开始。

答案 1 :(得分:3)

如果它不是一个非常简单的应用程序,现在是时候了。事实上,你可以总是编程OOly是有争议的,因为当你想在将来扩展你的程序时会更难。

答案 2 :(得分:1)

我认为这取决于具体情况。对于使用现有OOP框架的图形应用程序,权衡是即时的 - 您必须在某些情况下编写程序GUI代码。

但是,如果您正在进行原始数据处理而不与任何OOP框架进行互操作,那么您可能会发现OOP永远不会有意义。

答案 3 :(得分:1)

使用项目切换到OOP可能非常耗时。我怀疑它是否有利可图,因为它需要大量的编码,大量的测试,以及大量的重构。 OOP的整个概念与PP不同。

所以我建议不要在项目中切换,但要尽快开始为新项目使用OOP。当您感觉舒适时,您可以开始考虑现有项目的OOP设计,并逐步实现OOP中的功能。不过,这将是一项很多工作,而且可能会像重写整个项目一样。

答案 4 :(得分:0)

我会寻找其他需要切换的标志。对于所有的炒作 - 我是OOP的大力支持者 - 使用OOP语言,代码重用通常只会略微好一些。

OOP是另一种帮助组织代码的工具,就像过去的功能一样。这是一个伟大而有用的工具。但主要的好处是可以更轻松地编写和维护代码。

如果是我并且转向OOP需要几乎完全重写,我会推迟,直到交换机的一些更多实质性好处变得明显。如果您的代码有效,我不知道您为什么要重写它。

答案 5 :(得分:0)

这取决于任务,但完成了两项任务,这就是我想到的:

  1. 你觉得这项工作需要模块化吗?能否从中心位置管理类似或不相似的事物?有很多重复元素吗?快速发展或管理变革是否重要?

  2. 你认为你攻击的问题是可预测和重复的吗?是通过以下步骤解决或应用算法最好的服务?

  3. 如果更像是1,那么选择OOP,否则如果它更像是2,那就去做一个程序方法。

    如有疑问,请使用您认为合适的内容。

答案 6 :(得分:0)

改变正在进行的项目的编程风格并不是一件好事。

如果您希望实体之间有更明确的责任,您可以随时将OO原则应用于程序代码。

检查ANSI-C

中OO编码的实例this very interesting book