Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re^2: How Large Does Your Project Have To Be to Justify Using Moose? (modular)

by chromatic (Archbishop)
on Oct 06, 2011 at 20:15 UTC ( [id://930056]=note: print w/replies, xml ) Need Help??


in reply to Re: How Large Does Your Project Have To Be to Justify Using Moose? (modular)
in thread How Large Does Your Project Have To Be to Justify Using Moose?

So OO design using Moose will almost always revolve around, primarily focus on what attributes you want your object to have and the accessor methods for them.

I don't have those problems. What am I doing right?


Improve your skills with Modern Perl: the free book.

  • Comment on Re^2: How Large Does Your Project Have To Be to Justify Using Moose? (modular)

Replies are listed 'Best First'.
Re^3: How Large Does Your Project Have To Be to Justify Using Moose? (modular)
by tye (Sage) on Oct 06, 2011 at 20:33 UTC

    That's funny, given that what else you said in this thread is only slightly truncated at:

    If I never have to write an accessor generator by hand again, great!

    I use Moose for anything with more than one object attribute.

    Otherwise, your question is obviously just rhetorical since I don't know what you do or don't do when you design. Though, certainly, one should take a self review of design prowess with a grain of salt.

    I also never claim that using Moose makes good OO design impossible. If you can fight the tendency that I pointed out, then good for you. Though, it doesn't really sound like it, even just in this thread. :)

    - tye        

      That's funny, given that what else you said in this thread is only slightly truncated at:

      Sure, but when I write code that's completely stateless, I rarely need polymorphism and probably don't need objects at all.

      Yet even if someone's going to write OO spaghetti, I'd rather debug Moosified OO spaghetti than hand-rolled OO spaghetti, because there's a non-zero chance that the Moose version at least pretends to care about things like encapsulation and declaration of attributes.


      Improve your skills with Modern Perl: the free book.

        Sure, but when I write code that's completely stateless,
        Eh? Just because an object has state, doesn't mean it has to expose its internal state on an API.

        My objects typically aren't stateless. Most of the time, the external world will not be able to peak at the internal implementation of state.

        I rarely need polymorphism and probably don't need objects at all.
        When I write code and I have the need to group a bunch of attributes in a container, I use a hash, and probably don't need objects at all.

        But if I want to encapsulate something, I use objects, and actually encapsulate by not making most of the attributes visible.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://930056]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (3)
As of 2024-04-24 23:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found