On Feb 24, 2011, at 9:59 AM, Markus Roberts wrote:

> 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.

I see.  I agree the way he describes it isn't that useful; I just hadn't seen 
anyone else even provide a model I could attempt to follow, so it was 
instructive for me.

-- 
It is a mistake to think you can solve any major problems just with
potatoes.                        --Douglas Adams
---------------------------------------------------------------------
Luke Kanies  -|-   http://puppetlabs.com   -|-   +1(615)594-8199




-- 
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