我只是在学习Perl.
什么时候建议使用OO Perl而不是非OO Perl?
我倾向于总是喜欢OO,除非项目只是<10行的代码片段.
TIA
来自Damian Conway:
知道何时使用面向对象设计的10个标准
设计很大,或者可能变大
当数据聚合成明显的结构时,特别是如果每个聚合中有大量数据
例如,IP地址不是一个好的候选者:只有4个字节的信息与IP地址相关.通过海关的移民有很多与他有关的数据,如姓名,原籍国,携带的行李,目的地等.
当数据类型形成一个允许我们使用继承的自然层次结构时.
继承是OO最强大的功能之一,使用它的能力是一个标志.
对数据的操作因数据类型而异
GIF和JPG可能会以不同的方式完成裁剪,即使它们都是图形.
当您可能需要稍后添加数据类型时
OO为您提供了未来扩展的空间.
当运营商最好地展示数据之间的交互时
通过使用可以重载的运算符可以最好地显示某些关系.
当组件的实现可能发生变化时,尤其是在同一程序中
当系统设计已经面向对象时
当大量客户使用您的代码时
如果您的代码将分发给将使用它的其他人,标准界面将使维护和安全更容易.
当您拥有应用了许多不同操作的数据时
例如,图形图像可能会模糊,裁剪,旋转和调整.
当操作类型具有标准名称(检查,处理等)时
对象允许您有
DB::check
,ISBN::check
,Shape::check
,等,而无需类型检查之间的冲突.
有关同一主题@ PerlMonks的讨论很好.
拥有Moose当然可以更容易地从单词go中使用OO.唯一真正的例外是编译启动是一个问题(Moose目前有编译时间开销).
我不认为你应该用代码行来衡量它.
你是对的,通常当你只是编写一个简单的脚本时,OO可能过多,但我认为你应该对10行aproach更灵活.
在所有情况下,当您使用OO Perl Rememebr 使用Moose(或鼠标)时