Questions about the Class::Contract module

Discussion in 'Perl Misc' started by Jim Cochrane, Apr 12, 2004.

  1. Jim Cochrane

    Jim Cochrane Guest

    I've begun looking into using the Class::Contract module as, essentially, an
    infrastructure for producing object-oriented modules and programs. From
    what I've seen so far, there are several advantages to this approach (in
    addition to the DBC features - preconditions, invariants, etc. - that it
    provides), including: a simple syntax for specifying a class's interface;
    a straightforward mechanism for specifying and enforcing whether a
    particular attribute or method is public; a simplified process for defining
    constructors (for example, an explicit "bless ..." statement is not
    required); a simplified method for specifying the attributes of a class.

    In short, it appears to me that Class::Contract provides a powerful and
    very useful mechanism for implementing an OO Perl program without much of
    the tedium and extra work that would be required without the use of such
    a module. On the other hand, when I search for
    Class::Contract I see very little discussion of it (only about 28 results).
    This leads me to suspect that this module is not used very much.

    My questions are:

    Is it true that this module is not used very much or are my search results
    misleading? (E.e., perhaps discussion, requests for help, etc. for this
    module are mainly confined to more closed media, such as mailing lists.)
    If it is not used much, for those who have some insights as to why this is
    so, would you mind sharing them here?

    For those who use or are familiar with Class::Contract - Do you find it
    useful for writing well-designed OO modules or applications in Perl?
    Have you found it to be of relatively high quality - e.g., few bugs and
    reasonable workarounds for any serious bugs? What are the main
    disadvantages of using the module?

    What other modules and tools have people found to be effective or helpful
    for writing OO modules or applications in Perl?

    [I thinks this is relevant to both *.modules and *.misc, but if not,
    apologies for the crossposting.]

    Jim Cochrane, Apr 12, 2004
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.