  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Tomcat - JSP/Servlet container | | Struts - A MVC web framework | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | JSP - A mailing list about Java Server Pages specification and reference | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | |
Struts & Hibernate
|
|
|
  | | | TransferObject - Strategy | TransferObject - Strategy 2004-03-31 - By Pavel Kusch
Back Hello,
I would like to ask you a question about transfer objects. Should they be only data holders for traversing tiers or can they contain some functionality?
By functionality I mean for example checking if all the fields have allowed values. Or, say you want to create XML out of the fields. I have 3 different dataholders which will go into session which will just transform the fields in XML and pass them into JMS queue. I am supposed to have 3 methods which would do basically the same only the XML would be different. So I was thinking that having one dataholder interface and 3 different implementation would allow me to have just one method and use polymorphism. It seems to me that having three similar methods is obvious code smell - code duplication.
So, I would like to have something like.
public interface TransferObject { boolean validate(); String toXML(); }
Thank you very much for your opinion.
Sincerely,
Pavel Kusch
==================================================================== Companion Site: http://www.corej2eepatterns.com J2EE BluePrints: http://java.sun.com/blueprints/corej2eepatterns List Archive: http://archives.java.sun.com/archives/j2eepatterns-interest.html Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to listserv@(protected) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=iso-8859 (See http://iso-8859.ora-code.com)-1"> <META content="MSHTML 6.00.2800.1106" name=GENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=#ffffff> <DIV><FONT face=Arial size=2> <DIV><FONT face=Arial size=2>Hello,</FONT></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV> <DIV><FONT face=Arial size=2>I would like to ask you a question about transfer objects. Should they be only data holders for traversing tiers or can they contain some functionality? </FONT></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV> <DIV><FONT face=Arial size=2>By functionality I mean for example checking if all the fields have allowed values. Or, say you want to create XML out of the fields. I have 3 different dataholders which will go into session which will just transform the fields in XML and pass them into JMS queue. I am supposed to have 3 methods which would do basically the same only the XML would be different. So I was thinking that having one dataholder interface and 3 different implementation would allow me to have just one method and use polymorphism. It seems to me that having three similar methods is obvious code smell - code duplication.</FONT></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV> <DIV><FONT face=Arial size=2>So, I would like to have something like.</FONT></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV> <DIV><FONT face=Arial size=2>public interface TransferObject {</FONT></DIV> <DIV><FONT face=Arial size=2> boolean validate();</FONT></DIV> <DIV><FONT face=Arial size=2> String toXML();</FONT></DIV> <DIV><FONT face=Arial size=2>}</FONT></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV> <DIV><FONT face=Arial size=2>Thank you very much for your opinion.</FONT></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV> <DIV><FONT face=Arial size=2>Sincerely,</FONT></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV> <DIV><FONT face=Arial size=2>Pavel Kusch</FONT></DIV></FONT></DIV></BODY></HTML> ==================================================================== Companion Site: http://www.corej2eepatterns.com J2EE BluePrints: http://java.sun.com/blueprints/corej2eepatterns List Archive: http://archives.java.sun.com/archives/j2eepatterns-interest.html Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to listserv@(protected)
|
|
 |