[jboss-user] [JBoss Seam] - Seam promote bad design?

guanwh do-not-reply at jboss.com
Wed Nov 29 03:44:29 EST 2006


I know it is a small problem, but when i go through the seam document (all documents,articles in the internet), I found all the action code actually has mixed responsibility: page navigation and business logic. See the following code from book demo:
@Stateless                                                                               (1)
@Name("register")
public class RegisterAction implements Register
{

   @In                                                                                   (2)
   private User user;
   
   @PersistenceContext                                                                   (3)
   private EntityManager em;
   
   @Logger                                                                               (4)
   private Log log;
   
   public String register()                                                              (5)
   {
      List existing = em.createQuery("select username from User where username=:username")
         .setParameter("username", user.getUsername())
         .getResultList();
         
      if (existing.size()==0)
      {
         em.persist(user);
         log.info("Registered new user #{user.username}");                               (6)
         return "/registered.jsp";                                                       (7)
      }
      else
      {
         FacesMessages.instance().add("User #{user.username} already exists");           (8)
         return null;
      }
   }

}

the register function actually has dual resonsibility which broke a fundametal OO design principle:Single-Resonsibility-Principle. and all the generated seam code is same.

Would it be better that an official tutorial providing better sample code?

No offense. I do like SEAM.

Thanks

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3989590#3989590

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3989590



More information about the jboss-user mailing list