[Zope-dev] ZPatterns design questions
Michael Bernstein
webmaven@lvcm.com
Wed, 04 Oct 2000 21:49:10 -0700
"Phillip J. Eby" wrote:
>
> Ty and I use ZClasses because you can see your changes much more quickly
> than if you have to restart Zope. Basing your ZClasses on DataSkin makes
> the limitations pretty much disappear, from our point of view, because we
> never put any actual "implementation" code in our ZClasses: just domain
> logic, property sheets and UI (DTML) methods. All the actual mapping
> to/from data storage is carried out in the appropriate Rack or Specialist,
> neatly seperated. Occasionally we need an ExternalMethod in either the
> ZClass or the Specialist, but these are getting rarer as we find ways to
> create method-like helper objects that can be added through the Zope UI to
> accomplish common tasks. In general, we prefer that Python written outside
> of PythonMethods be re-usable for a variety of projects rather than a
> one-up for a specific application. YMMV. :)
While I wouldn't say that there has been an actual 'paradigm
shift' between the original RIPP presentation and ZPatterns,
I'm sufficiently confused at this point to ask for an
explanation (with definitions and a *simple* example) of
your current thoughts on separating 'domain code' from
'implementation code', both of which still need to be
separated from 'presentation code' (DTML interfaces), unless
I'm mistaken. Please assume I'm asking a lot of 'why'
questions along the way.
I'm familiar with the convention of separating 'data' from
'business logic' from 'presentation logic', but this new
four-way separation (storage, domain, implementation, UI) is
confusing the heck out of me.
I know that both of you (Phillip and Ty) are very busy
right now, but could you perhaps give us a few short
installments? Starting at the beginning (wherever that is),
of course.
Thanks,
Michael Bernstein.