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

前端之家收集整理的这篇文章主要介绍了我什么时候应该使用OO Perl?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我只是在学习Perl.

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

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

解决方法

From Damian Conway

10 criteria for knowing when to use object-oriented design


    @H_301_15@

    Design is large,or is likely to become large

    @H_301_15@

    When data is aggregated into obvIoUs structures,especially if there’s a lot of data in each aggregate

    For instance,an IP address is not a good candidate: There’s only 4 bytes of information related to an IP address. An immigrant going through customs has a lot of data related to him,such as name,country of origin,luggage carried,destination,etc.

    @H_301_15@

    When types of data form a natural hierarchy that lets us use inheritance.

    Inheritance is one of the most powerful feature of OO,and the ability to use it is a flag.

    @H_301_15@

    When operations on data varies on data type

    GIFs and JPGs might have their cropping done differently,even though they’re both graphics.

    @H_301_15@

    When it’s likely you’ll have to add data types later

    OO gives you the room to expand in the future.

    @H_301_15@

    When interactions between data is best shown by operators

    Some relations are best shown by using operators,which can be overloaded.

    @H_301_15@

    When implementation of components is likely to change,especially in the same program

    @H_301_15@

    When the system design is already object-oriented

    @H_301_15@

    When huge numbers of clients use your code

    If your code will be distributed to others who will use it,a standard interface will make maintenence and safety easier.

    @H_301_15@

    When you have a piece of data on which many different operations are applied

    Graphics images,for instance,might be blurred,cropped,rotated,and adjusted.

    @H_301_15@

    When the kinds of operations have standard names (check,process,etc)

    Objects allow you to have a DB::check,ISBN::check,Shape::check,etc without having conflicts between the types of check.

猜你在找的Perl相关文章