How about the Command Pattern: http://www.javaworld.com/javaworld/javatips/jw-javatip68.html
An EJB version is mentioned in 'EJB Design Patterns' (http://www2.theserverside.com/books/EJBDesignPatterns/index.jsp) too. jamie --- "Couball, James" <[EMAIL PROTECTED]> wrote: > I recommend taking a look at the Session Façade > pattern in the Java Blue > Prints. No matter if you use EJBs or not, this > pattern encapsulates the > ideas that Simon was mentioning. > > Does anyone know the name of the more general > pattern that doesn't involve > Session Beans specifically? > > One of my general concerns is "design to test". I > like to be able to test > the (business/persistence) layer that the actions > will call independently of > struts, actions, etc. Encapsulating that layer in > an API (or wrapping with > a session bean) makes this possible. > > Sincerely, > James. > > > -----Original Message----- > > From: Andrew Hill > [mailto:[EMAIL PROTECTED]] > > Sent: Monday, October 14, 2002 8:16 AM > > To: Struts Users Mailing List > > Subject: RE: DAO or ... ? > > > > But you still call the API from the action right - > is this not invoking > > the > > functionality that persists your data? > > > > Seems a bit like semantic juggling to me... (after > all the persistance > > layer > > is just an abstraction API on top of writing to > db/disk/punchcard > > itself...) > > ;-) > > > > I would however agree that there ought to be some > sort of abstracting > > layer > > between the view and the implementation specific > details of the p-tier... > > > > -----Original Message----- > > From: Chappell, Simon P > [mailto:[EMAIL PROTECTED]] > > Sent: Monday, October 14, 2002 23:04 > > To: Struts Users Mailing List; > [EMAIL PROTECTED] > > Subject: RE: DAO or ... ? > > > > > > You invoke your persistence code in the same place > that you would invoke > > any > > other code ... not in the Action! > > > > Write all your core application code (business > rules, persistence, > > communications etc) in a way that has no > connection to the view portion of > > your system and then create a API to it. This way > you can have any client > > you like call into your core code and your core > code doesn't need to worry > > about what calls it, only about acting upon > requests. > > > > Then use the actions to call into the API and pass > the API return values > > to > > the JSPs. Works great. > > > > /------\ /---\ /----\ > > |Client|--> |API|-->|Core| > > |Code | | | |Code| > > \------/ \---/ \----/ > > > > The API is now your fire break. Nothing on the > Core Code side has to worry > > about displaying anything and nothing in the > Client Code has to worry > > about > > calculating anything. > > > > Simon > > > > > ----------------------------------------------------------------- > > Simon P. Chappell > [EMAIL PROTECTED] > > Java Programming Specialist > www.landsend.com > > Lands' End, Inc. > (608) 935-4526 > > > > > > >-----Original Message----- > > >From: Andrew Hill > [mailto:[EMAIL PROTECTED]] > > >Sent: Monday, October 14, 2002 9:57 AM > > >To: Struts Users Mailing List > > >Subject: RE: DAO or ... ? > > > > > > > > >So where should one invoke the persistance layer? > > > > > >-----Original Message----- > > >From: Lacerda, Wellington (AFIS) > [mailto:[EMAIL PROTECTED]] > > >Sent: Monday, October 14, 2002 22:51 > > >To: 'Struts Users Mailing List' > > >Subject: RE: DAO or ... ? > > >Importance: High > > > > > > > > >Hi Kevin > > > > > >Avoid persistence in Action code as much as you > can. > > > > > >This is the general recommendation. > > > > > >Wellington Silva > > >Author of "JSP and Tag Libraries for Web > Development" > > >FAO of the UN - Consultant > > > > > >-----Original Message----- > > >From: Kevin Viet [mailto:[EMAIL PROTECTED]] > > >Sent: Monday, October 14, 2002 4:45 PM > > >To: struts-user > > >Subject: DAO or ... ? > > > > > > > > >My question is a web app design question. > > >What pattern you guys follow when you want to > save a domain object in > > >the database ?: > > > > > >- use the DAO pattern of java blueprint > (persistence layer is called > > >into classes) > > >- call to persistence statements into action code > : > > > > > > // store example > > > try { > > > PeristenceLayer pl = getPerstitenceLayer(); > > > pl.save(domainObject); > > > } > > > catch (Exception > > > > > > > > >-- > > >Kevin Viet <[EMAIL PROTECTED]> > > >ActiVia Networks > > > > > > > > > > > > > > >-- > > >To unsubscribe, e-mail: > > > ><mailto:[EMAIL PROTECTED]> > > >For additional commands, e-mail: > > ><mailto:[EMAIL PROTECTED]> > > > > > > > > >-- > > >To unsubscribe, e-mail: > > > ><mailto:[EMAIL PROTECTED]> > > >For additional commands, e-mail: > > ><mailto:[EMAIL PROTECTED]> > > > > > > > > >-- > > >To unsubscribe, e-mail: > > > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > > > > -- > > To unsubscribe, e-mail: > > > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > > > > -- > > To unsubscribe, e-mail: <mailto:struts-user- > > [EMAIL PROTECTED]> > > For additional commands, e-mail: > <mailto:struts-user- > === message truncated === __________________________________________________ Do you Yahoo!? Faith Hill - Exclusive Performances, Videos & More http://faith.yahoo.com -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>