L --

>>> BTW this is discussed a bit in Analysis Patterns by Martin Fowler as the 
>>> operational layer and knowledge layer (where the classes are at the 
>>> operational layer and the instances are the knowledge layer).
>>
>> Yeah.  I like Martin's stuff in general but on this I've never found
>> his distinction particularly useful.  More broadly, I think I come
>> from a more code-is-math perspective and he's addressing it from a
>> code-is-process perspective (IIRC).
>
> What about the distinction in the RAL?
>
> I think a big problem in the RAL is that Puppet::Type -> Puppet::Type::File 
> -> File["/etc"] makes much less sense than Puppet::Type -> 
> Puppet::Type.new(:file) and Puppet::Resource -> File["/etc"].
>
> You can pretty easily compare these in Puppet right now - the RAL uses the 
> class/subclass model, and the parser uses classes and instances 
> (Puppet::Resource::Type for types, and Puppet::Resource for resources).

To be clear, I agree with the conclusion (though as we've discussed
previously, there's an added wrinkle in the RAL, where things that are
naturally instances of Puppet::Type themselves have instances), it's
just Martin's way of conceptualizing it that doesn't work for me.  I
find the is-a/has-a sort of distinction and reified beahaviour
patterns (delegation, strategies, etc.) instead of "everything is
inheritance" to be a better way to think about it (for me at least)
than Martin's operational/knowledge distinction.

-- M
-----------------------------------------------------------
When in trouble or in doubt, run in circles,
scream and shout. -- 1920's parody of the
maritime general prudential rule
------------------------------------------------------------

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to puppet-dev@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to