⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7classpatterns.html

📁 together是不比Rose差的设计工具,甚至在生成java类方面效果更好,该教材是together6.1的一份实例教程,不错!
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<html>

	<head>
		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
		<title>Together Tutorial -- Part 7</title>

		<link rel="stylesheet" href="tutor.css" type="text/css">
	</head>

	<body bgcolor="white" link="#003399" alink="#999999" vlink="#000066">
		<div align="left">
			<p class="head2"><span style="font-size: 9pt">
                <a href="mailto:%20e.w@263.net">&#32763;&#35793;: &#26446;&#39062;(e.w@263.net)</a></span></p>
		</div>
		<div align="center">
			<p class="head2"><a name="top"></a>Together &#25945;&#31243;<br>
				7: &#20351;&#29992;&#31867;&#27169;&#24335;&#36827;&#34892;&#20195;&#30721;&#37325;&#26500;</p>
		</div>
		<p>&#22312;&#21069;&#38754;&#30340;&#35838;&#31243;&#20013;, &#25105;&#20204;&#35752;&#35770;&#20102;&#27169;&#26495;&#27169;&#24335;. &#29616;&#22312;&#25105;&#20204;&#26469;&#32771;&#34385;&#19968;&#19979;&#26356;&#22797;&#26434;&#30340;&#27169;&#22359;&#27169;&#24335;. &#25105;&#20204;&#20027;&#35201;&#35752;&#35770;&#25277;&#35937;&#24037;&#21378;&#27169;&#24335;(Abstract Factory pattern), 
        &#23427;&#26159; Together &#38468;&#24102;&#30340; GoF &#27169;&#24335;&#30340;&#19968;&#37096;&#20998;.</p>
		<p>Together &#20013;&#30340;&#27169;&#24335;&#23545;&#20110;&#33258;&#21160;&#21019;&#24314;&#21738;&#20123;&#38590;&#20110;&#29992;&#25163;&#24037;&#20070;&#20889;&#30340;&#20195;&#30721;&#26159;&#38750;&#24120;&#26377;&#29992;&#30340;. &#32780;&#19988;&#23427;&#20204;&#23545;&#20110;&#37325;&#26032;&#32452;&#32455;&#21644;&#26500;&#36896;&#20195;&#30721;&#20063;&#26159;&#38750;&#24120;&#20027;&#35201;&#30340;. 
        &#36825;&#20063;&#23601;&#26159;&#36825;&#19968;&#35838;&#20013;&#20320;&#23558;&#35201;&#20351;&#29992;&#27169;&#24335;&#30340;&#26041;&#24335;. &#20294;&#26159;, &#25105;&#20204;&#39318;&#20808;&#35201;&#36827;&#34892;&#19968;&#20123;&#26410;&#23436;&#25104;&#30340;&#24037;&#20316;, &#23545;&#25105;&#20204;&#21807;&#19968;&#30340;&#19994;&#21153;&#35268;&#21017;&#32534;&#20889;&#20195;&#30721;.</p>
		<p><b>&#30446;&#24405;:</b></p>
		<ul>
			<li><a class="onPage" href="#coding">&#32534;&#20889;&#19994;&#21153;&#35268;&#21017;&#20195;&#30721;</a><li><a class="onPage" href="#refactor">
            &#20351;&#29992; GoF &#27169;&#24335;&#37325;&#26500;&#20195;&#30721;</a><li><a class="onPage" href="#finish">&#23545;&#27169;&#22411;&#22270;&#21644;&#20195;&#30721;&#36827;&#34892;&#26368;&#21518;&#30340;&#20462;&#27491;</a><li><a class="onPage" href="#tip">
            &#25216;&#24039;</a></ul>
		<p>GoF &#26159; &quot;Gang of Four&quot; &#30340;&#32553;&#20889;. &#23427;&#30340;&#24847;&#24605;&#26159;: Eric Gamma, Richard Helm, Ralph Johnson, 
        &#21644; John Vlissides &#22235;&#20154;, &#20182;&#20204;&#26159;&#33879;&#21517;&#30340;&#12298;<i>Design Patterns</i>&#12299;&#21644;&#12298;<i>Elements of 
        Reusable Object-Oriented Software</i>&#12299;&#30340;&#20316;&#32773;.</p>
		<p></p>
		<p><img height="2" width="900" src="images/generic/rainbow2.gif" alt="Divider line"></p>
		<p class="head3"><a name="coding"></a>&#32534;&#20889;&#19994;&#21153;&#35268;&#21017;&#20195;&#30721;</p>
		<p>&#35753;&#25105;&#20204;&#26469;&#32534;&#20889;&#19968;&#20123;&#31616;&#21333;&#30340;&#20195;&#30721;, &#20197;&#20415;&#20174; <b>Flight.makeReservation()</b> &#29983;&#25104;&#19968;&#20010;&#26102;&#24207;&#22270;. 
        &#25105;&#20204;&#21069;&#38754;&#30340;&#23545;&#27963;&#21160;&#22270;&#30340;&#35752;&#35770;&#20013;&#21253;&#21547;&#20102;&#25551;&#36848;&#20195;&#30721;&#30340;&#19994;&#21153;&#35268;&#21017;:</p>
		<dl>
			<dd><b>&#22914;&#26524;&#21806;&#20986;&#30340;&#26426;&#31080;&#25968;&#19981;&#36229;&#36807;&#35813;&#33322;&#29677;&#23481;&#37327;, &#37027;&#20040;&#20320;&#21487;&#20197;&#39044;&#23450;&#33322;&#29677;.</b> </dd>
		</dl>
		<p><img src="images/airline/addiagramcomplete.png" width="623" height="430" border="0" alt="Activity diagram" hspace="10" vspace="10"></p>
		<p>&#19979;&#38754;&#26159;&#25105;&#20204;&#30340; <b>Flight.makeReservation()</b> &#26041;&#27861;&#20195;&#30721;.</p>
		<p></p>
		<table border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
			<tr>
				<td bgcolor="#CCCCCC">
					<table border="0" cellpadding="5" cellspacing="2">
						<tr>
							<td valign="top" bgcolor="white">
								<pre><tt>public void makeReservation(String name, int tKind) throws ReservationException { 
   int t = this.numberOfTickets();             
   int c = lnkFlightDescription.getCapacity();
   
   <font color="#336600">// Make a reservation only if the number of tickets sold is less than the plane capacity</font> 
   if (t &lt; c) {  
      Reservation r = new Reservation(nam,tKind); 
      lnkReservation.add(r);  
   } 
   else throw new ReservationException(); 
}</pre>
							</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p></p>
		<table border="0" cellpadding="0" cellspacing="2" bgcolor="#993300" width="100%">
			<tr>
				<td bgcolor="#993300">
					<table border="0" cellpadding="0" cellspacing="2" bgcolor="#ffffcc" width="100%">
						<tr>
							<td bgcolor="#ffffcc"><b>&#25805;&#20316;&#27493;&#39588;:</b> &#23436;&#25104;&#20320;&#30340; <b>Flight.makeReservation()</b> 
                            &#26041;&#27861;&#20195;&#30721;.</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p></p>
		<table border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
			<tr>
				<td bgcolor="#CCCCCC">
					<table border="0" cellpadding="5" cellspacing="2">
						<tr>
							<td valign="top" bgcolor="white">
								<p>&#20320;&#21487;&#20197;&#23558;&#19978;&#38754;&#30340;&#20195;&#30721;&#22797;&#21046;&#21040; Together &#20013;. &#19981;&#36807;, &#19981;&#36807;&#20320;&#25163;&#24037;&#36755;&#20837;&#36825;&#20123;&#20195;&#30721;, 
                                &#20320;&#21487;&#33021;&#20250;&#30475;&#21040;&#32534;&#36753;&#22120;&#30340;<i>&#20195;&#30721;&#24863;&#24212;</i>&#25928;&#26524;. </p>
								<p>&#21491;&#22270;&#26174;&#31034;&#20102;&#34920;&#36798;&#24335; <b>lnkFlightDescription</b> &#30340;&#20195;&#30721;&#24863;&#24212;&#25928;&#26524;. 
                                &#24403;&#25105;&#20204;&#36755;&#20837; &quot;.&quot; &#26102;, &#32534;&#36753;&#22120;&#26174;&#31034; <b>FlightDescription</b> 
                                &#30340;&#26041;&#27861;&#21015;&#34920;. &#25105;&#20204;&#31616;&#21333;&#22320;&#28857;&#20987;&#26041;&#27861;&#21517;&#21363;&#21487;&#23558;&#26041;&#27861;&#25554;&#20837;&#21040;&#20195;&#30721;&#20013;.</p>
							</td>
							<td valign="top" bgcolor="white">
								<p><img src="images/airline/pro7_codesense.png" width="456" height="264" border="0" alt="Code completion"></p>
							</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p></p>
		<p> <b>Reservation</b> &#26500;&#36896;&#26041;&#27861;&#36824;&#21482;&#26159;&#19968;&#20010;&#31354;&#26041;&#27861;. &#35753;&#25105;&#20204;&#26469;&#20351;&#29992;&#23427;&#22320;&#20004;&#20010;&#21442;&#25968;: <b>name</b> &#21644; <b>tKind</b>. <b>name</b> 
        &#21442;&#25968;&#24456;&#31616;&#21333;. &#20294; <b>tKind</b> &#21442;&#25968;&#38656;&#35201;&#32771;&#34385;&#19968;&#19979;. &#29616;&#22312;&#21482;&#38656;&#35201;&#31616;&#21333;&#22320;&#25353;&#20197;&#19979;&#26041;&#27861;&#36827;&#34892;:</p>
		<dl>
			<dd><b>&#22914;&#26524; tKind &#20026; 1, &#21019;&#24314;&#19968;&#20010; Coach &#31867;&#30340;&#26426;&#31080;. &#22914;&#26524; tKind &#20026; 2, &#21019;&#24314;&#19968;&#20010; FirstClass 
            &#31867;&#30340;&#26426;&#31080;. &#21542;&#21017;, &#19981;&#21019;&#24314;&#26426;&#31080;.</b>
		</dl>
		<table border="0" cellpadding="0" cellspacing="2" bgcolor="#993300" width="100%">
			<tr>
				<td bgcolor="#993300">
					<table border="0" cellpadding="0" cellspacing="2" bgcolor="#ffffcc" width="100%">
						<tr>
							<td bgcolor="#ffffcc"><b>&#25805;&#20316;&#27493;&#39588;:</b> &#20026; <b>Reservation</b> 
                            &#26500;&#36896;&#26041;&#27861;&#22635;&#20889;&#20195;&#30721;.</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p>&#19979;&#38754;&#26159;&#25105;&#20204;&#30340; <b>Reservation</b> &#26500;&#36896;&#26041;&#27861;&#20195;&#30721;.</p>
		<table border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
			<tr>
				<td bgcolor="#CCCCCC">
					<table border="0" cellpadding="5" cellspacing="2">
						<tr>
							<td valign="top" bgcolor="white">
								<pre>public Reservation(String name, int tKind) {
   this.name = name;

  <font color="#336600">// We will refactor this next piece of code</font>
   lnkTicket = null;
   if (tKind ==<font color="#ee0000"> 1</font>) 
       lnkTicket = new Coach() ;
   else if (tKind ==<font color="#ee0000"> 2</font>)
      lnkTicket = new FirstClass();
 }</pre>
							</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p></p>
		<hr>
		<p class="head3"><a name="refactor"></a>&#20351;&#29992; GoF &#27169;&#24335;&#37325;&#26500;&#20195;&#30721;</p>
		<p>&#29616;&#22312;&#33322;&#31354;&#20844;&#21496;&#24037;&#31243;&#38656;&#35201;&#36827;&#34892;&#22823;&#30340;&#25193;&#23637;&#20102;. &#30830;&#23450;&#26426;&#31080;&#31867;&#22411;&#30340;&#20195;&#30721;&#30446;&#21069;&#23436;&#20840;&#22312; <b>Reservation</b> &#26500;&#36896;&#26041;&#27861;&#20013;&#23454;&#29616;. 
        &#19968;&#31181;&#24456;&#33258;&#28982;&#30340;&#25913;&#36827;&#26041;&#26696;&#26159;&#23558;&#21019;&#24314;&#26426;&#31080;&#30340;&#20195;&#30721;&#31227;&#21160;&#21040;&#19968;&#20010;&#26032;&#30340;&#23545;&#35937;&#20013;: &#19968;&#20010;&#21019;&#24314;&#26426;&#31080;&#30340;&#31867;&#24037;&#21378;&#23545;&#35937;.</p>
		<p>&#22312;&#36825;&#19968;&#35838;&#20013;, &#20320;&#23558;&#24314;&#31435;&#19968;&#20010; <b>TicketMaster</b> &#31867;&#29992;&#26469;&#21019;&#24314;&#23454;&#38469;&#30340; <b>Ticket</b> &#31867;.  GoF 
        &#27169;&#24335;&#38598;&#21512;&#20013;&#30340;&#25277;&#35937;&#24037;&#21378;&#27169;&#24335;&#23558;&#23436;&#25104;&#36825;&#31181;&#22256;&#38590;&#30340;&#24037;&#20316;.</p>
		<table border="0" cellpadding="0" cellspacing="2" bgcolor="#993300" width="100%">
			<tr>
				<td bgcolor="#993300">
					<table border="0" cellpadding="0" cellspacing="2" bgcolor="#ffffcc" width="100%">
						<tr>
							<td bgcolor="#ffffcc"><b>&#25805;&#20316;&#27493;&#39588;:</b> &#24212;&#29992; GoF 
                            &#27169;&#24335;&#38598;&#21512;&#20013;&#30340;&#25277;&#35937;&#24037;&#21378;&#27169;&#24335;. &#21517;&#20026; <b>Abstract Factory</b>, <b>Concrete Factory</b>, 
                            &#20197;&#21450; <b>Abstract Product</b>, &#22914;&#19979;:<ul>
									<li><b>ICreateTickets</b> &#25509;&#21475;&#24212;&#29992; <b>Abstract Factory</b> 
                                    &#27169;&#24335;<li><b>Ticket</b> &#31867;&#24212;&#29992; <b>Abstract Product</b> 
                                    &#27169;&#24335;<li><b>TicketMaster</b> &#31867;&#24212;&#29992; <b>Concrete Factory</b> 
                                    &#27169;&#24335;</ul>
								<p></p>
							</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p></p>
		<p>&#36873;&#25321; Designer &#24037;&#20855;&#26465;&#20013;&#30340;<b>&#20351;&#29992;&#27169;&#24335;&#21019;&#24314;&#31867;</b>&#25353;&#38062;(<img src="images/icons/classbypatternicon.png" width="15" height="16" border="0" align="top" hspace="1" alt="Class by pattern icon">)&#28982;&#21518;&#28857;&#20987; 
        Designer &#38754;&#26495;. &#27492;&#26102;&#23558;&#20986;&#29616;&#19968;&#20010;&#27169;&#24335;&#36873;&#25321;&#23545;&#35805;&#26694;, &#23427;&#30340;&#24038;&#20391;&#26159;&#19968;&#20010;&#27169;&#24335;&#36873;&#25321;&#38754;&#26495;. &#23637;&#24320; GoF &#25991;&#20214;&#22841;&#21487;&#20197;&#30475;&#21040; 11 &#20010;&#27169;&#24335;&#36873;&#39033;. Abstract Factory 
        &#26159; GoF &#27169;&#24335;&#21015;&#34920;&#20013;&#30340;&#31532;&#19968;&#20010;.</p>
		<table border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
			<tr>
				<td bgcolor="#CCCCCC">
					<table border="0" cellpadding="5" cellspacing="2">
						<tr>
							<td valign="top" bgcolor="white">
								<p>&#22312;&#23545;&#35805;&#26694;&#30340;&#21491;&#19978;&#38754;&#26495;&#20013;&#36755;&#20837;&#20351;&#29992;&#27169;&#24335;&#30340;&#31867;&#30340;&#21517;&#31216;. &#20320;&#24517;&#39035;&#30452;&#25509;&#36755;&#20837; <b>ICreateTickets</b> 
                                &#21644; <b>TicketMaster</b>, &#22240;&#20026;&#23427;&#20204;&#36824;&#19981;&#23384;&#22312;.</p>
								<p>&#19981;&#35201;&#36755;&#20837; <b>Ticket</b>, &#25105;&#20204;&#20351;&#29992; <b>Abstract product</b> 
                                &#25991;&#26412;&#26694;&#21491;&#20391;&#30340;&#36873;&#25321;&#26694;(<img src="images/icons/selectboxbutton.gif" width="21" height="21" border="0" align="top" alt="Select button" hspace="1">)&#26469;&#36873;&#25321;&#36825;&#20010;&#31867;.</p>
								<p></p>
							</td>
							<td valign="top" bgcolor="white"><img src="images/airline/pro7_newabstractfactory.png" width="449" height="358" border="0" alt="Pick abstract factory" hspace="3"></td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p></p>
		<table border="0" cellpadding="0" cellspacing="2" bgcolor="#993300" width="100%">
			<tr>
				<td bgcolor="#993300">
					<table border="0" cellpadding="0" cellspacing="2" bgcolor="#ffffcc" width="100%">
						<tr>
							<td bgcolor="#ffffcc"><b>&#25805;&#20316;&#27493;&#39588;:</b> &#23558; <b>Product</b> 
                            &#20998;&#37197;&#20026; <b>Ticket</b> &#31867;&#24182;&#23436;&#25104;&#27169;&#24335;&#30340;&#21019;&#24314;.</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p></p>
		<table border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
			<tr>
				<td bgcolor="#CCCCCC">
					<table border="0" cellpadding="5" cellspacing="2">
						<tr>
							<td valign="top" bgcolor="white">&#39318;&#20808;&#28857;&#20987;&#27169;&#24335;&#36873;&#25321;&#23545;&#35805;&#26694;&#24213;&#37096;&#30340; Next 
                            &#25353;&#38062;. 
								<p><img src="images/airline/hitnextbutton.gif" width="84" height="32" border="0" alt="Next button" hspace="5"></p>
								<p>&#19979;&#19968;&#20010;&#27169;&#24335;&#31383;&#21475;&#21253;&#25324;&#19968;&#20010;&#25991;&#26412;&#26694;&#29992;&#20110;&#36755;&#20837; product. &#28857;&#20987;&#20854;&#20013;&#30340;&#36873;&#25321;&#26694;&#23558;&#20986;&#29616;&#31867;&#36873;&#25321;&#31383;&#21475;, 
                                &#31867;&#20284;&#19979;&#22270;&#25152;&#31034;.</p>
								<p>&#35201;&#36873;&#25321; product, &#39318;&#20808;&#23637;&#24320; <b>Model</b>, &#28982;&#21518;&#23637;&#24320; <b>AirlinePD</b>. 
                                &#28982;&#21518;&#36873;&#25321; <b>Ticket</b> &#31867;, &#24182;&#28857;&#20987; OK &#25353;&#38062;.</p>
							</td>
						</tr>
						<tr>
							<td valign="top" bgcolor="white"><img src="images/airline/abstractfactoryfinish.png" width="653" height="425" border="0" alt="Choose product dialog box" hspace="10" vspace="5"></td>
						</tr>
						<tr>
							<td valign="top" bgcolor="white">
								<p>&#28857;&#20987; Finish &#25353;&#38062;&#23436;&#25104;&#27169;&#24335;&#21019;&#24314;&#24037;&#20316;.</p>
							</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p></p>
		<hr>
		<p class="head3"><a name="finish"></a>&#23545;&#27169;&#22411;&#21644;&#20195;&#30721;&#36827;&#34892;&#26368;&#21518;&#30340;&#20462;&#27491;</p>
		<p>&#21019;&#24314;&#19968;&#20010;&#27169;&#24335;&#21487;&#33021;&#20351;&#24471;&#27169;&#22411;&#22270;&#21464;&#24471;&#27604;&#36739;&#28151;&#20081;, &#22914;&#26524;&#36825;&#20010;&#36807;&#31243;&#20013;&#20135;&#29983;&#20102;&#26032;&#30340;&#31867;&#25110;&#32773;&#25509;&#21475;&#23588;&#20854;&#22914;&#27492;. &#20320;&#30340;&#27169;&#22411;&#22270;&#29616;&#22312;&#21253;&#25324;&#20960;&#20010;&#26032;&#30340;&#20381;&#36182;&#20197;&#21450; <b>TicketMaster</b> 
        &#31867;&#21644; <b>ICreateTickets</b> &#25509;&#21475;. </p>
		<table border="0" cellpadding="0" cellspacing="2" bgcolor="#993300" width="100%">
			<tr>
				<td bgcolor="#993300">
					<table border="0" cellpadding="0" cellspacing="2" bgcolor="#ffffcc" width="100%">
						<tr>
							<td bgcolor="#ffffcc"><b>&#25805;&#20316;&#27493;&#39588;:</b> &#37325;&#26032;&#25490;&#21015; <b>AirlinePD</b> 
                            &#27169;&#22411;&#22270;&#20197;&#20415;&#26174;&#31034;&#25972;&#20010;&#27169;&#22411;.</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p>&#36825;&#19968;&#27493;&#24456;&#31616;&#21333;. &#25171;&#24320;&#27169;&#22411;&#22270;&#30340;&#21491;&#38190;&#33756;&#21333;&#24182;&#36873;&#25321; <b>Layout | All</b>.</p>
		<table border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
			<tr>
				<td bgcolor="#CCCCCC">
					<table border="0" cellpadding="5" cellspacing="2">
						<tr>
							<td valign="top" bgcolor="white">
								<p>&#19979;&#22270;&#26159; <b>Explorer</b> &#38754;&#26495;&#30340; Overview &#39029;. &#21491;&#22270;&#26159;&#23545;&#24212;&#30340; <b>Designer</b> 
                                &#38754;&#26495;. (&#25105;&#20204;&#30340;&#36830;&#25509;&#26174;&#31034;&#20026;&#30697;&#24418;&#32447;.)</p>
								<p><img src="images/airline/pro7_overview.png" width="200" height="200" border="0" hspace="5" alt="Overview" vspace="5"></p>
							</td>
							<td valign="top" bgcolor="white">
								<p><img src="images/airline/pro7_abstractfactorydiagram.png" width="542" height="250" border="0" hspace="5"></p>
							</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p></p>
		<p>&#27492;&#26102;&#20195;&#30721;&#24050;&#32463;&#22522;&#26412;&#23436;&#25104;&#20102;, &#20294;&#36824;&#27809;&#23436;&#20840;&#23436;&#25104;. &#35760;&#20303;&#25105;&#20204;&#26368;&#21021;&#30340;&#30446;&#26631;: &#37325;&#26500;&#20195;&#30721;, &#23558;&#21019;&#24314; <b>Ticket</b> &#31867;&#30340;&#20195;&#30721;&#20174; <b>Reservation</b> 
        &#31867;&#31227;&#21160;&#21040; <b>TicketMaster</b> &#20013;. &#19979;&#38754;&#26159;&#19979;&#19968;&#20010;&#20219;&#21153;&#30340;&#25551;&#36848;.</p>
		<table border="0" cellpadding="0" cellspacing="2" bgcolor="#993300" width="100%">
			<tr>
				<td bgcolor="#993300">
					<table border="0" cellpadding="0" cellspacing="2" bgcolor="#ffffcc" width="100%">
						<tr>
							<td bgcolor="#ffffcc"><b>&#25805;&#20316;&#27493;&#39588;:</b> &#20462;&#25913; <b>ICreateTickets</b> 
                            &#30340;&#25805;&#20316;, &#25509;&#21463;&#19968;&#20010; <b>int</b> &#31867;&#22411;&#21442;&#25968;; &#22312; <b>TicketMaster</b> 
                            &#31867;&#20013;&#36827;&#34892;&#23545;&#24212;&#30340;&#20462;&#25913;.</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p>&#36825;&#26159;&#20004;&#20010;&#31616;&#21333;&#30340;&#23567;&#27493;&#39588;:</p>
		<ol>
			<li>&#20351;&#29992;&#20869;&#23884;&#32534;&#36753;&#22120;&#20462;&#25913; <b>ICreateTickets</b> &#20013;&#30340;&#25805;&#20316;, &#22914;&#19979;:<br>
				<br>
				<b><i>createTicket(tKind:int):Ticket<br>
						<br>
					</i></b>
			<li>&#25353; &lt;Ctrl&gt; &#38190;&#24182;&#23558;&#25805;&#20316;&#20174; <b>ICreateTickets</b> &#25302;&#21160;&#21040; <b>TicketMaster</b>. 
            &#21024;&#38500;&#21407;&#26469;&#30340;&#26080;&#21442;&#25968;&#30340; <b>TicketMaster.createTicket()</b> &#26041;&#27861;.		</ol>
		<table border="0" cellpadding="0" cellspacing="2" bgcolor="#993300" width="100%">
			<tr>
				<td bgcolor="#993300">
					<table border="0" cellpadding="0" cellspacing="2" bgcolor="#ffffcc" width="100%">
						<tr>
							<td bgcolor="#ffffcc"><b>&#25805;&#20316;&#27493;&#39588;:</b> &#23558; <b>Ticket</b> 
                            &#30340;&#21019;&#24314;&#20195;&#30721;&#20174; <b>Reservation</b> &#31227;&#21160;&#21040; <b>TicketMaster</b> 
                            &#24182;&#20462;&#27491;&#35821;&#27861;&#38169;&#35823;.</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p>&#20320;&#21487;&#20197;&#22312; <b>Editor</b> &#38754;&#26495;&#20013;&#36890;&#36807;&#21098;&#20999;&#21644;&#22797;&#21046;&#26469;&#31227;&#21160;&#20195;&#30721;. &#20294;&#26159;&#31227;&#21160;&#21518;&#30340;&#20195;&#30721;&#19981;&#33021;&#31435;&#21363;&#32534;&#35793;. &#20320;&#38656;&#35201;&#36827;&#34892;&#20004;&#20010;&#23567;&#20462;&#25913; -- 
        &#22312;&#26041;&#27861;&#24320;&#22987;&#22788;&#22768;&#26126;&#19968;&#20010; <b>Ticket</b> &#31867;&#22411;&#21464;&#37327;&#24182;&#22312;&#32467;&#26463;&#22788;&#36820;&#22238;&#23427;.</p>
		<p>&#25105;&#20204;&#23558; <b>Ticket</b> &#31867;&#22411;&#21464;&#37327;&#25913;&#21517;&#20026; <b>t</b> (&#21407;&#26469;&#26159; <b>lnkTicket</b>), &#22914;&#19979;&#25152;&#31034;.</p>
		<table border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
			<tr>
				<td bgcolor="#CCCCCC">
					<table border="0" cellpadding="5" cellspacing="2">
						<tr>
							<td valign="top" bgcolor="white">
								<pre>public Ticket createTicket(int tKind) {
   Ticket t = null;
   if (tKind ==<font color="#ee0000"> 1</font>) 
       t = new Coach() ;
   else if (tKind ==<font color="#ee0000"> 2</font>)
      t = new FirstClass();
   return t;
 }</pre>
							</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p>&#23545;&#24847;&#20041;&#37325;&#22823;&#30340;&#24120;&#37327; 1 &#21644; 2 &#36827;&#34892;&#25991;&#26723;&#25551;&#36848;&#26159;&#20010;&#24456;&#22909;&#30340;&#20027;&#24847;(&#25110;&#32773;&#26356;&#22909;&#30340;&#26041;&#26696;&#26159;&#23436;&#20840;&#28040;&#38500;&#23427;&#20204;). &#20294;&#26159;&#25105;&#20204;&#25226;&#36825;&#20010;&#20915;&#31574;&#30041;&#32473;&#20320;&#20915;&#23450;.</p>
		<table border="0" cellpadding="0" cellspacing="2" bgcolor="#993300" width="100%">
			<tr>
				<td bgcolor="#993300">
					<table border="0" cellpadding="0" cellspacing="2" bgcolor="#ffffcc" width="100%">
						<tr>
							<td bgcolor="#ffffcc"><b>&#25805;&#20316;&#27493;&#39588;:</b> &#23436;&#25104; <b>Reservation</b> 
                            &#26500;&#36896;&#26041;&#27861;, &#20351;&#23427;&#36890;&#36807;&#19968;&#20010; <b>TicketMaster</b> &#21019;&#24314;&#36866;&#24403;&#31867;&#22411;&#30340; <b>Ticket</b>.</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p>&#19979;&#38754;&#26159;&#25105;&#20204;&#30340;&#26032;&#20195;&#30721;, &#25913;&#36896;&#21518;&#30340; <b>Reservation</b> &#26500;&#36896;&#26041;&#27861;.</p>
		<table border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
			<tr>
				<td bgcolor="#CCCCCC">
					<table border="0" cellpadding="5" cellspacing="2">
						<tr>
							<td valign="top" bgcolor="white">
<pre>public Reservation(String name, int tKind) {
   this.name = name;

   TicketMaster tm = new TicketMaster();
   lnkTicket = tm.createTicket(tKind);
 }</pre>
							</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p></p>
		<table border="0" cellpadding="0" cellspacing="2" bgcolor="#993300" width="100%">
			<tr>
				<td bgcolor="#993300">
					<table border="0" cellpadding="0" cellspacing="2" bgcolor="#ffffcc" width="100%">
						<tr>
							<td bgcolor="#ffffcc"><b>&#25805;&#20316;&#27493;&#39588;:</b> &#32534;&#35793;&#20195;&#30721;&#20197;&#20415;&#26816;&#26597;&#24037;&#20316;&#32467;&#26524;. 
                            &#20462;&#27491;&#25152;&#26377;&#30340;&#35821;&#27861;&#38169;&#35823;. (&#22914;&#26524;&#26377;&#35821;&#27861;&#38169;&#35823;&#30340;&#35805;, &#24212;&#35813;&#26159;&#27604;&#36739;&#23567;&#30340;&#38169;&#35823;.)</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p></p>
		<table border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
			<tr>
				<td bgcolor="#CCCCCC">
					<table border="0" cellpadding="5" cellspacing="2">
						<tr>
							<td valign="top" bgcolor="white">
								<p>Make &#21644; Build &#21629;&#20196;&#22312;&#20027;&#33756;&#21333;&#20013;&#30340; <b>Project</b> &#19979;, 
                                &#20063;&#22312;&#20027;&#24037;&#20855;&#26465;&#20013;. &#20320;&#20063;&#21487;&#20197;&#22312; Message &#38754;&#26495;&#30340; Builder &#39029;&#20013;&#25214;&#21040;&#36825;&#20123;&#21629;&#20196;. 
                                &#32534;&#35793;&#30340;&#36755;&#20986;&#32467;&#26524;&#26174;&#31034;&#22312; Message &#38754;&#26495;&#20013;.</p>
								<p>&#22914;&#26524;&#20320;&#30340;&#20195;&#30721;&#26377;&#38169;&#35823;, &#28857;&#20987;&#38169;&#35823;&#20449;&#24687;&#21487;&#22312;&#32534;&#36753;&#22120;&#20013;&#23558;&#38169;&#35823;&#30340;&#20195;&#30721;&#39640;&#20142;&#26174;&#31034;. 
                                &#32487;&#32493;&#26412;&#35838;&#31243;&#21069;&#35831;&#30830;&#20445;&#20462;&#27491;&#20102;&#20320;&#30340;&#20195;&#30721;&#20013;&#30340;&#38169;&#35823;.</p>
							</td>
							<td valign="top" bgcolor="white">
								<p><img src="images/airline/compilebuttons.png" width="95" height="40" border="0" alt="Compile buttons" hspace="5" vspace="5"></p>
							</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p></p>
		<hr>
		<p class="head3"><a name="tip"></a>&#25216;&#24039;</p>
		<ul>
			<li>&#23545;&#20110;&#36825;&#20010;&#24037;&#31243;&#36824;&#26377;&#36824;&#26377;&#20854;&#20182;&#36866;&#29992;&#30340; GoF &#27169;&#24335;. &#20363;&#22914;, Composite &#27169;&#24335;&#26159;&#19968;&#31181;&#31616;&#21333;&#30340;&#26041;&#27861;, 
            &#21487;&#29992;&#26469;&#25903;&#25345;&#22242;&#20307;&#25110;&#20010;&#20154;&#39044;&#23450;&#33322;&#29677;.<li>&#21487;&#20197;&#22312; Designer &#38754;&#26495;&#31181;&#21516;&#26102;&#36873;&#25321;&#22810;&#20010;&#31867;, &#26041;&#27861;&#26159;&#28857;&#20987;&#40736;&#26631;&#24038;&#38190;&#24182;&#30011;&#19968;&#20010;&#30697;&#24418;&#25509;&#35302;&#21040;&#36825;&#20123;&#31867;. 
            &#24403;&#23427;&#20204;&#34987;&#36873;&#20013;&#21518;, &#20320;&#21487;&#20197;&#25104;&#32452;&#30340;&#31227;&#21160;&#20182;&#20204;.			<li>&#25353; &lt;Ctrl&gt; &#38190;&#24182;&#25302;&#21160;&#25805;&#20316;&#25805;&#20316;, 
            &#21487;&#23558;&#25805;&#20316;&#20174;&#25277;&#35937;&#31867;&#25110;&#25509;&#21475;&#20013;&#22797;&#21046;&#21040;&#23454;&#20307;&#31867;. Together &#23558;&#20351;&#22797;&#21046;&#30340;&#25805;&#20316;&#25104;&#20026;&#23454;&#20307;&#26041;&#27861;.
			<li>&#20351;&#29992; Designer &#38754;&#26495;&#21487;&#20197;&#22312;&#32534;&#36753;&#22120;&#20013;&#27983;&#35272;&#20195;&#30721;. &#20363;&#22914;, &#22914;&#26524;&#20320;&#24076;&#26395;&#23558;&#35821;&#21477;&#20174;&#19968;&#20010;&#26041;&#27861;&#22797;&#21046;&#21040;&#21478;&#19968;&#20010;&#26041;&#27861;, &#39318;&#20808;&#22312; 
            Designer &#20013;&#28857;&#20987;&#26041;&#27861;&#27983;&#35272;&#28304;&#20195;&#30721;. &#28982;&#21518;&#22797;&#21046;&#20195;&#30721;. &#28982;&#21518;&#36890;&#36807; Designer &#27983;&#35272;&#21040;&#30446;&#26631;&#26041;&#27861;&#24182;&#22797;&#21046;&#21363;&#21487;.		</ul>
		<p>
		<div align="center">
			<hr>
			<img height="19" width="297" src="images/generic/nvbuttons.gif" vspace="10" alt="Navigation bar" usemap="#nvbuttonsb601029d" border="0"><map name="nvbuttonsb601029d"><area href="#top" coords="101,2,146,17" shape="rect"><area href="6patterns.html" coords="0,2,96,16" shape="rect"><area href="8sequencediagrams.html" coords="152,1,208,17" shape="rect"><area href="index.html" coords="216,1,295,17" shape="rect"></map>
			<hr>
		</div>
		<div align="left">
			<p class="footnote">Copyright &copy; 2002 TogetherSoft Corporation. All rights reserved.</p>
		</div>
		<p class="footnote"><font color="#666666">Last Revised: </font><csobj w="88" h="12" t="DateTime" format="MedDate" region="0">Fri, Mar 8, 2002</csobj>
	    <p class="footnote"><span style="font-size: 9pt">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -