I like Martin Fowler's Patterns of Enterprise Architecture.  I also
like Eric Evans' Domain Driven Design.

As for your specific questions:

dao -- Outside of a reasonably simple crud application I wouldn't have
Wicket even aware of daos.  I like to have wicket (or other clients)
talk to the proverbial "business" layer, with persistance, jms, ws,
and so forth on the other side of said business layer

package hierarchies -- I like to have module based hierarchies:
com.you.customer, com.you.order, com.you.ui.  Within each you would
then have parallel strucures (i.e. if you have a com.you.customer.dao
package for daos, then you would want to have com.you.order.dao).
Just try to make thing predictable.

app v. session -- If an entity is global, such as access to the
business layer, it should go in the app.  Conversely, things like a
cart that vary by session should go in the session.  Or maybe you were
asking something a little meatier?

constants -- I like to have things in the db.  This does not, however
work well for db credentials.  Property or xml files are a fine option
for things that vary by instance (dev v. test v. prod).  I only have
constants in code when multiple classes (or at least methods) need to
agree on a value.  I do not like to have constants that drive business
logic in code.

spring & wicket -- use the google.

Scott

On Tue, Aug 4, 2009 at 11:16 AM, Dane Laverty<danelave...@gmail.com> wrote:
> A few months ago I asked for ideas on project management, and you all gave
> me some great suggestions of tools and books to check out. Now I'd like to
> hear if anyone has recommendations for a resource that explains how to tie
> the web application together -- what I would call "architecture".
>
> I'm running into questions like
> - Where should I put my DAOs? In the session or in the pages? And what's a
> reasonable relationship between DAOs and domain objects?
> - What are some examples of reasonable package hierarchies?
> - What kind of objects should live in the application and what should live
> in the session?
> - Should I put constants in a Constants.java or in an xml file?
> - Spring wants to use interfaces and Hibernate wants to use concrete classes
> -- how do I reconcile these?
>
> Effective Java and Design Patterns have been great resources for learning
> how to solve specific programming problems. Now I'd like to find information
> on how to build the layout of the application in a way that is effective,
> simple, and maintainable. Any suggestions?
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to