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.