我什么时候应该使用OO Perl?

hou*_*ack 6 oop perl

我只是在学习Perl.

什么时候建议使用OO Perl而不是非OO Perl?

我倾向于总是喜欢OO,除非项目只是<10行的代码片段.

TIA

Ari*_*zis 19

来自Damian Conway:

知道何时使用面向对象设计的10个标准


  1. 设计很大,或者可能变大

  2. 当数据聚合成明显的结构时,特别是如果每​​个聚合中有大量数据

    例如,IP地址不是一个好的候选者:只有4个字节的信息与IP地址相关.通过海关的移民有很多与他有关的数据,如姓名,原籍国,携带的行李,目的地等.

  3. 当数据类型形成一个允许我们使用继承的自然层次结构时.

    继承是OO最强大的功能之一,使用它的能力是一个标志.

  4. 对数据的操作因数据类型而异

    GIF和JPG可能会以不同的方式完成裁剪,即使它们都是图形.

  5. 当您可能需要稍后添加数据类型时

    OO为您提供了未来扩展的空间.

  6. 当运营商最好地展示数据之间的交互时

    通过使用可以重载的运算符可以最好地显示某些关系.

  7. 当组件的实现可能发生变化时,尤其是在同一程序中

  8. 当系统设计已经面向对象时

  9. 当大量客户使用您的代码时

    如果您的代码将分发给将使用它的其他人,标准界面将使维护和安全更容易.

  10. 当您拥有应用了许多不同操作的数据时

    例如,图形图像可能会模糊,裁剪,旋转和调整.

  11. 当操作类型具有标准名称(检查,处理等)时

    对象允许您有DB::check,ISBN::check,Shape::check,等,而无需类型检查之间的冲突.


dra*_*tun 6

有关同一主题@ PerlMonks的讨论很好.

拥有Moose当然可以更容易地从单词go中使用OO.唯一真正的例外是编译启动是一个问题(Moose目前有编译时间开销).


Pat*_*Pat 5

我不认为你应该用代码行来衡量它.

你是对的,通常当你只是编写一个简单的脚本时,OO可能过多,但我认为你应该对10行aproach更灵活.

在所有情况下,当您使用OO Perl Rememebr 使用Moose(或鼠标)时