  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Struts - A MVC web framework | | Tomcat - JSP/Servlet container | | 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 | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | | JSP - A mailing list about Java Server Pages specification and reference | |
Struts & Hibernate
|
|
|
  | | | Association vs Dependency (Offbeat) | Association vs Dependency (Offbeat) 2003-12-30 - By ashraf galal
Back <html><div style='background-color:'><DIV> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>Actually, these concepts is UML not a<SPAN style="mso-spacerun: yes"> </SPAN>java.<SPAN style="mso-spacerun: yes"> </SPAN>You are quite well understanding but I would like to illustrate the difference between them and give an example. </FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com :office:office" /><o:p></o:p></FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>Dependency :</FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>Anytime a class uses another class in some fashion, a dependency exists between the two.</FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>A dependency exists of a class: </FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso -list: l0 level1 lfo2; tab-stops: list .5in"><FONT face="Times New Roman"><FONT size=3>-</FONT><SPAN style="FONT: 7pt 'Times New Roman'"> </SPAN><FONT size=3>has a reference to an object directly.</FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso -list: l0 level1 lfo2; tab-stops: list .5in"><FONT face="Times New Roman"><FONT size=3>-</FONT><SPAN style="FONT: 7pt 'Times New Roman'"> </SPAN><FONT size=3>Has a local variable based on another class.</FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso -list: l0 level1 lfo2; tab-stops: list .5in"><FONT face="Times New Roman"><FONT size=3>-</FONT><SPAN style="FONT: 7pt 'Times New Roman'"> </SPAN><FONT size=3>Has a reference to an object indirectly via some operation parameters.</FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso -list: l0 level1 lfo2; tab-stops: list .5in"><FONT face="Times New Roman"><FONT size=3>-</FONT><SPAN style="FONT: 7pt 'Times New Roman'"> </SPAN><FONT size=3>Uses a class�s static operation</FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>Also there are dependency between packages. </FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"> <o:p></o:p></FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>Association: </FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>There is two types of association, unidirectional and bi-directional associations. </FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>Unidirectional association implies that an object of the class may invoke methods on the other class.</FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>In java, this manifest itself as an instance variables on the class that may invoke methods. </FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"> <o:p></o:p></FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>Example: </FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>Public class customer</FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes"> </SPAN>{</FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes"> </SPAN>?.</FONT></FONT> </P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes"> </SPAN>Public Address homeAddress;</FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"> <o:p></o:p></FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes"> </SPAN>��</FONT></FONT> </P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes"> </SPAN>}</FONT>< /FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"> <o:p></o:p></FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>public class Address {</FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>?..</FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>}</FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="mso-spacerun: yes"> <FONT face="Times New Roman" size=3></FONT></SPAN> </P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>bi-directional association means that either object in the association may invoke methods on other.</FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>In java, this results in an instance variable on each class based on the type of the other class.</FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"> <o:p></o:p></FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face="Times New Roman" size=3>Example;</FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman">Public class Team<SPAN style="mso-spacerun: yes"> </SPAN>< /FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes"> </SPAN>{</FONT></FONT>< /P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes"> </SPAN >LinkedList<SPAN style="mso-spacerun: yes"> </SPAN>teamPlayers = new LikedList();</FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes"> < /SPAN>teamPlayers.add(new teamPlayer(?));</FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes"> </SPAN>��?<SPAN style="mso-spacerun: yes"> </SPAN>}</FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"> <o:p></o:p></FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes"> </SPAN>public class teamPlayer {</FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes"> </SPAN>Team<SPAN style="mso-spacerun: yes"> </SPAN>memberOf; </FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes"> </SPAN>?.< /FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes"> </SPAN>} </FONT></FONT></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face="Times New Roman"> <o:p></o:p></FONT></FONT></P></DIV> <DIV>Ashraf Galal <BR>(416)804-8359</DIV>>From: ShriKant Vashishtha <SHRISUBS@(protected)>>Reply-To: An interest list for Sun Java Center J2EE Pattern Catalog <J2EEPATTERNS-INTEREST@(protected)>>To: J2EEPATTERNS -INTEREST@(protected) >Subject: Association vs Dependency (Offbeat) >Date : Sun, 28 Dec 2003 14:17:03 -0800 > >Hi All, > >I am slightly confused in finding the difference between association and dependency. > > ;For me, whenever the variable is intialized at a local scope or passed as a parameter in a method, its denoted as dependency. However, for association, I believe, the object needs to be on global scope (as an instance variable). However, I rarely use any object at a global scope, unless I know that it is used for maintaining the state of class or need to be used across different methods. So most of the time, I end up with dependency . > >Am I missing something over here. > >Thanks >-ShriKant > > >-- ---- --- -- ---- ---- ---- ---- >Do you Yahoo!? >Protect your identity with Yahoo ! Mail AddressGuard > >=================================================== ================= >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) < /div><br clear=all><hr>MSN 8 helps <a href="http://g.msn.com/8HMBENCA/2743??PS= ">ELIMINATE E-MAIL VIRUSES. </a> Get 2 months FREE*. </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)
|
|
 |