[Seaside] Re: Best-practices/ architectural patterns for business apps

Stephan Eggermont stephan at stack.nl
Mon Apr 2 21:14:20 UTC 2012

Stefan Krecher wrote:
>i'd like to know if there are some best-practices/ patterns for
>seaside application architectures.

- The first thing you need when you start creating production
  quality code instead of prototypes/spikes, is a CI environment, 
  where you pull code from the open source projects you use
- Start with categories for domain model, tests and web
- Don't do the whole architecture up front, drive it from the code
- Drive the domain model from tests
- Keep the code well refactored, DRY
- Create a declarative description of the domain model;
  Magritte provides a good starting point. You need better
  descriptions for behavior, relationships, validation.
- Generate web components by introspection.
- Use a hexagonal architecture.
- Persistence is an implementation detail, to be decided on ALAP
- In the component model of Seaside a component has children;
  the child does not have an explicit parent (as there might be more
  than one). The child uses announcements to inform its parent.
- In development, break up the css into many methods
- Refactor
- The reflective capabilities of Smalltalk allow fairly large architectural
  changes to be made with little effort. Learn how to manipulate your
  project's source code
- Development is done in a MOOSE image, so you can visualize
  the code quality over time.
- Did I tell you to refactor?

Stephan Eggermont

More information about the seaside mailing list