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

📄

📁 《设计模式》DELPHI版
💻
📖 第 1 页 / 共 5 页
字号:
class=3DSpellE><span lang=3DEN-US>TLeaf</span></span><span style=3D'font-fa=
mily:PMingLiU;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Ro=
man"'>&#29289;&#20214;&#21063;&#20854;&#35531;&#27714;&#26371;&#34987;&#304=
52;&#25509;&#34389;&#29702;&#65292;&#22914;&#26524;&#26159;</span><span
class=3DSpellE><span lang=3DEN-US>TComposite</span></span><span style=3D'fo=
nt-family:
PMingLiU;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Tim=
es New Roman"'>&#29289;&#20214;&#20854;&#35531;&#27714;&#21063;&#20659;&#36=
958;&#21040;&#20854;&#23376;&#20803;&#20214;&#65307;&#21487;&#33021;&#30340=
;&#35441;&#21482;&#26159;&#22312;&#20659;&#36958;&#21069;&#25110;&#20659;&#=
36958;&#24460;&#36861;&#21152;&#19968;&#20123;&#25805;&#20316;&#12290;</spa=
n></p>

<h3><span style=3D'font-family:PMingLiU;mso-ascii-font-family:Arial;mso-han=
si-font-family:
Arial'>&#32080;&#35542;</span><span lang=3DEN-US>(consequences)</span></h3>

<p class=3DMsoNormal style=3D'margin-left:27.0pt'><span style=3D'font-famil=
y:PMingLiU;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Ro=
man"'>&#21512;&#25104;&#27171;&#24335;&#26159;&#65306;</span></p>

<p class=3DMsoNormal style=3D'margin-left:51.0pt;text-indent:-24.0pt;mso-li=
st:l7 level1 lfo12;
tab-stops:list 51.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'mso=
-fareast-font-family:
"Times New Roman"'><span style=3D'mso-list:Ignore'>1.<span style=3D'font:7.=
0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-family:PMingLiU;mso-a=
scii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#23450;&#32681;=
&#21253;&#21547;&#21407;&#22987;&#29289;&#20214;&#21450;&#21512;&#25104;&#2=
9289;&#20214;&#30340;&#39006;&#21029;&#23652;&#32026;&#26550;&#27083;&#6530=
6;</span></b><span
style=3D'font-family:PMingLiU;mso-ascii-font-family:"Times New Roman";mso-h=
ansi-font-family:
"Times New Roman"'>&#21407;&#22987;&#29289;&#20214;&#21487;&#20197;&#32068;=
&#21512;&#25104;&#35079;&#38620;&#29289;&#20214;&#24847;&#21619;&#33879;&#2=
0063;&#21487;&#20197;&#20877;&#36958;&#36852;&#32068;&#21512;&#26356;&#3507=
9;&#38620;&#30340;&#29289;&#20214;&#12290;&#32780;&#20351;&#29992;&#31471;&=
#30340;&#31243;&#24335;&#30908;&#38656;&#27714;&#30340;&#26159;&#19968;&#20=
491;&#21407;&#22987;&#29289;&#20214;&#20063;&#21487;&#20197;&#26159;&#19968=
;&#20491;&#21512;&#25104;&#29289;&#20214;&#12290;</span></p>

<p class=3DMsoNormal style=3D'margin-left:51.0pt;text-indent:-24.0pt;mso-li=
st:l7 level1 lfo12;
tab-stops:list 51.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'mso=
-fareast-font-family:
"Times New Roman"'><span style=3D'mso-list:Ignore'>2.<span style=3D'font:7.=
0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-family:PMingLiU;mso-a=
scii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#35731;&#20351;=
&#29992;&#31471;&#31777;&#26131;&#20351;&#29992;&#65306;</span></b><span
style=3D'font-family:PMingLiU;mso-ascii-font-family:"Times New Roman";mso-h=
ansi-font-family:
"Times New Roman"'>&#20351;&#29992;&#31471;&#21487;&#20197;&#20197;&#19968;=
&#33268;&#30340;&#26041;&#24335;&#34389;&#29702;&#21934;&#19968;&#29289;&#2=
0214;&#21450;&#21512;&#25104;&#29289;&#20214;&#65292;&#20351;&#29992;&#3147=
1;&#19968;&#33324;&#28961;&#38920;&#30693;&#36947;&#20063;&#28961;&#38920;&=
#38364;&#24515;&#20182;&#20497;&#34389;&#29702;&#30340;&#26159;&#21934;&#19=
968;&#29289;&#20214;&#25110;&#32773;&#26159;&#21512;&#25104;&#29289;&#20214=
;&#12290;&#22914;&#27492;&#21487;&#20197;&#31777;&#21270;&#20351;&#29992;&#=
31471;&#30340;&#31243;&#24335;&#30908;&#65307;&#22240;&#28858;&#36991;&#208=
13;&#22312;&#23450;&#32681;&#21512;&#25104;&#30340;&#39006;&#21029;&#20013;=
&#25776;&#23531;</span><span
lang=3DEN-US>tag-and-case-statement-style</span><span style=3D'font-family:=
PMingLiU;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Ro=
man"'>&#21151;&#33021;&#12290;</span></p>

<p class=3DMsoNormal style=3D'margin-left:51.0pt;text-indent:-24.0pt;mso-li=
st:l7 level1 lfo12;
tab-stops:list 51.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'mso=
-fareast-font-family:
"Times New Roman"'><span style=3D'mso-list:Ignore'>3.<span style=3D'font:7.=
0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-family:PMingLiU;mso-a=
scii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#23481;&#26131;=
&#22686;&#21152;&#19968;&#20491;&#26032;&#30340;&#20803;&#20214;&#65306;</s=
pan></b><span
style=3D'font-family:PMingLiU;mso-ascii-font-family:"Times New Roman";mso-h=
ansi-font-family:
"Times New Roman"'>&#26032;&#23450;&#32681;&#30340;</span><span class=3DSpe=
llE><span
lang=3DEN-US>TComposite</span></span><span style=3D'font-family:PMingLiU;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Ro=
man"'>&#25110;</span><span
class=3DSpellE><span lang=3DEN-US>TLeaf</span></span><span style=3D'font-fa=
mily:PMingLiU;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Ro=
man"'>&#27425;&#39006;&#21029;&#21487;&#20197;&#33258;&#21205;&#30340;&#332=
87;&#29694;&#26377;&#30340;&#32080;&#27083;&#21450;&#20351;&#29992;&#31471;=
&#31243;&#24335;&#30908;&#24037;&#20316;&#65292;&#20351;&#29992;&#31471;&#2=
8961;&#38920;&#22240;&#26032;&#30340;&#21512;&#25104;&#39006;&#21029;&#3278=
0;&#25913;&#35722;&#31243;&#24335;&#12290;</span></p>

<p class=3DMsoNormal style=3D'margin-left:51.0pt;text-indent:-24.0pt;mso-li=
st:l7 level1 lfo12;
tab-stops:list 51.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'mso=
-fareast-font-family:
"Times New Roman"'><span style=3D'mso-list:Ignore'>4.<span style=3D'font:7.=
0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-family:PMingLiU;mso-a=
scii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#35731;&#20320;=
&#30340;&#35373;&#35336;&#26356;&#21152;&#19968;&#33324;&#21270;&#65306;</s=
pan></b><span
style=3D'font-family:PMingLiU;mso-ascii-font-family:"Times New Roman";mso-h=
ansi-font-family:
"Times New Roman"'>&#35731;&#20854;&#26041;&#20415;&#22686;&#21152;&#26032;=
&#20803;&#20214;&#30340;&#32570;&#40670;&#26159;&#38627;&#20197;&#37325;&#2=
5972;</span><span
lang=3DEN-US>(restrict)</span><span style=3D'font-family:PMingLiU;mso-ascii=
-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#21512;&#25104;=
&#20013;&#30340;&#20803;&#20214;&#12290;&#26377;&#26178;&#20320;&#24819;&#3=
5731;&#21512;&#25104;&#20013;&#21482;&#26377;&#29305;&#23450;&#30340;&#2080=
3;&#20214;&#65292;&#22312;&#21512;&#25104;&#27171;&#24335;&#20013;&#20320;&=
#28961;&#27861;&#20381;&#36084;&#22411;&#21029;&#31995;&#32113;</span><span
lang=3DEN-US>(type system)</span><span style=3D'font-family:PMingLiU;mso-as=
cii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#30906;&#20445;=
&#36889;&#20491;&#38480;&#21046;&#65292;&#20320;&#24517;&#38920;&#20351;&#2=
9992;&#22312;&#22519;&#34892;&#26399;&#27298;&#28204;&#12290;</span><span
lang=3DEN-US>2001/1/8</span></p>

<h3><span style=3D'font-family:PMingLiU;mso-ascii-font-family:Arial;mso-han=
si-font-family:
Arial'>&#23526;&#20316;</span><span lang=3DEN-US>(Implementation)</span></h=
3>

<p class=3DMsoNormal style=3D'margin-left:24.0pt;text-indent:-24.0pt;mso-li=
st:l26 level1 lfo20;
tab-stops:list 24.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'mso=
-fareast-font-family:
"Times New Roman"'><span style=3D'mso-list:Ignore'>1.<span style=3D'font:7.=
0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-family:PMingLiU;mso-a=
scii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#26126;&#30906;=
&#30340;&#35242;&#23660;&#21443;&#32771;</span></b><span
style=3D'font-family:PMingLiU;mso-ascii-font-family:"Times New Roman";mso-h=
ansi-font-family:
"Times New Roman"'>&#65306;&#32173;&#35703;&#23376;&#20195;&#21040;&#20854;=
&#31062;&#20195;&#30340;&#21443;&#32771;&#21487;&#20197;&#31777;&#21270;&#3=
6861;&#28335;</span><span
lang=3DEN-US>(traversal)</span><span style=3D'font-family:PMingLiU;mso-asci=
i-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#21450;&#32173;=
&#35703;&#20803;&#20214;&#32080;&#27083;&#65292;&#23565;&#26044;&#31062;&#3=
9006;&#21029;&#30340;&#21443;&#32771;&#25110;&#32773;&#21034;&#38500;&#1996=
8;&#20491;&#20803;&#20214;&#21482;&#35201;&#28335;&#32080;&#27083;&#19978;&=
#31227;&#21363;&#21487;&#31062;&#39006;&#21029;&#21443;&#32771;&#20063;&#25=
903;&#25588;&#36012;&#20219;&#37832;</span><span
lang=3DEN-US>(Chain of Responsibility)</span><span style=3D'font-family:PMi=
ngLiU;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Ro=
man"'>&#27171;&#24335;&#12290;</span></p>

<p class=3DMsoNormal style=3D'margin-left:27.0pt;mso-para-margin-left:2.25g=
d;
text-indent:27.0pt;mso-char-indent-count:2.25'><span style=3D'font-family:P=
MingLiU;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Ro=
man"'>&#32780;&#23450;&#32681;&#31062;&#39006;&#21029;&#21443;&#32771;&#303=
40;&#22320;&#26041;&#26159;</span><span
class=3DSpellE><span lang=3DEN-US>TComponent</span></span><span style=3D'fo=
nt-family:
PMingLiU;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Tim=
es New Roman"'>&#39006;&#21029;&#65292;&#32780;</span><span
class=3DSpellE><span lang=3DEN-US>TLeaf</span></span><span style=3D'font-fa=
mily:PMingLiU;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Ro=
man"'>&#21450;</span><span
class=3DSpellE><span lang=3DEN-US>TComposite</span></span><span style=3D'fo=
nt-family:
PMingLiU;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Tim=
es New Roman"'>&#39006;&#21029;&#21487;&#20197;&#32380;&#25215;&#36889;&#20=
491;&#21443;&#32771;&#21450;&#31649;&#29702;&#21443;&#32771;&#30340;&#25805=
;&#20316;&#12290;</span></p>

<p class=3DMsoNormal style=3D'margin-left:27.0pt;mso-para-margin-left:2.25g=
d;
text-indent:27.0pt;mso-char-indent-count:2.25'><span style=3D'font-family:P=
MingLiU;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Ro=
man"'>&#23565;&#26044;&#31062;&#39006;&#21029;&#30340;&#21443;&#32771;&#225=
22;&#26412;&#19978;&#38656;&#32173;&#35703;&#19968;&#20491;&#19981;&#35722;=
</span><span
lang=3DEN-US>(invariant)</span><span style=3D'font-family:PMingLiU;mso-asci=
i-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#30340;&#38364;=
&#20418;&#65306;&#25152;&#26377;</span><span
class=3DSpellE><span lang=3DEN-US>TComposite</span></span><span style=3D'fo=
nt-family:
PMingLiU;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Tim=
es New Roman"'>&#39006;&#21029;&#30340;&#23376;&#39006;&#21029;&#37117;&#26=
377;&#19968;&#20491;</span><span
class=3DSpellE><span lang=3DEN-US>TComposite</span></span><span style=3D'fo=
nt-family:
PMingLiU;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Tim=
es New Roman"'>&#30340;&#31062;&#39006;&#21029;</span><span
lang=3DEN-US>(all children of a composite have as their parent the composit=
e that
in turn has them as children)</span><span style=3D'font-family:PMingLiU;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Ro=
man"'>&#65292;&#32780;&#26368;&#31777;&#21934;&#30906;&#20445;&#19978;&#368=
48;&#38364;&#20418;&#30340;&#26041;&#24335;&#26159;&#19968;&#20491;&#20803;=
&#20214;&#21029;&#21482;&#35201;&#30070;&#23427;&#21152;&#20837;</span><span
class=3DSpellE><span lang=3DEN-US>TComposite</span></span><span style=3D'fo=
nt-family:
PMingLiU;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Tim=
es New Roman"'>&#25110;&#33258;</span><span
class=3DSpellE><span lang=3DEN-US>TComposite</span></span><span style=3D'fo=
nt-family:
PMingLiU;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Tim=
es New Roman"'>&#31227;&#38500;&#21363;&#25913;&#35722;&#20854;&#31062;&#39=
006;&#21029;&#65292;&#21482;&#35201;&#36889;&#20491;&#21151;&#33021;&#21487=
;&#20197;&#23526;&#20316;&#22312;</span><span
class=3DSpellE><span lang=3DEN-US>TComposite</span></span><span style=3D'fo=
nt-family:
PMingLiU;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Tim=
es New Roman"'>&#30340;</span><span
lang=3DEN-US>Add()</span><span style=3D'font-family:PMingLiU;mso-ascii-font=
-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#21450;</span><=
span
lang=3DEN-US>Remove()</span><span style=3D'font-family:PMingLiU;mso-ascii-f=
ont-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#25805;&#20316;=
&#20013;&#65307;&#21516;&#26178;&#34987;&#25152;&#26377;&#23376;&#39006;&#2=
1029;&#32380;&#25215;&#65292;&#37027;&#40636;&#19978;&#36848;&#19981;&#3572=
2;&#30340;&#38364;&#20418;&#20415;&#21487;&#20197;&#33258;&#21205;&#32173;&=
#35703;&#12290;</span></p>

<p class=3DMsoNormal style=3D'margin-left:24.0pt;text-indent:-24.0pt;mso-li=
st:l26 level1 lfo20;
tab-stops:list 24.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'mso=
-fareast-font-family:
"Times New Roman"'><span style=3D'mso-list:Ignore'>2.<span style=3D'font:7.=
0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-family:PMingLiU;mso-a=
scii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#20849;&#29992;=
&#20803;&#20214;</span></b><span
style=3D'font-family:PMingLiU;mso-ascii-font-family:"Times New Roman";mso-h=
ansi-font-family:
"Times New Roman"'>&#65306;&#20849;&#29992;&#20803;&#20214;&#19968;&#33324;=
&#26159;&#26377;&#29992;&#30340;&#65292;&#20363;&#22914;&#28187;&#23569;&#3=
5352;&#25014;&#39636;&#20351;&#29992;&#12290;&#20294;&#26159;&#22914;&#2652=
4;&#19968;&#20491;&#20803;&#20214;&#26377;&#19968;&#20491;&#20197;&#19978;&=
#30340;&#31062;&#39006;&#21029;&#20849;&#29992;&#20803;&#20214;&#35722;&#30=
340;&#22256;&#38627;&#12290;&#21487;&#33021;&#30340;&#35299;&#27770;&#26041=
;&#24335;&#26159;&#35731;&#23376;&#39006;&#21029;&#20786;&#23384;&#22810;&#=
20491;&#31062;&#39006;&#21029;&#65292;&#20294;&#36889;&#27171;&#26371;&#368=
96;&#25104;&#27169;&#31946;</span><span
lang=3DEN-US>(ambiguities)</span><span style=3D'font-family:PMingLiU;mso-as=
cii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#20197;&#33268;=
&#25844;&#22823;</span><span
lang=3DEN-US>(propagates up)</span><span style=3D'font-family:PMingLiU;mso-=
ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#20854;&#32080;=
&#27083;&#65292;&#36629;&#37327;&#27171;&#24335;</span><span
lang=3DEN-US>(Flyweight)</span><span style=3D'font-family:PMingLiU;mso-asci=
i-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#21487;&#20197;=
&#25913;&#21892;&#35373;&#35336;&#20197;&#36991;&#20813;&#23559;&#25152;&#2=
6377;&#31062;&#39006;&#21029;&#20786;&#23384;&#22312;&#19968;&#36215;&#6529=
2;&#36889;&#26159;&#30070;&#23376;&#39006;&#21029;&#21487;&#20197;&#36991;&=
#20813;&#32147;&#30001;&#20855;&#39636;&#21270;</span><span
lang=3DEN-US>(externalizing)</span><span style=3D'font-family:PMingLiU;mso-=
ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#20854;&#37096;=
&#20998;&#25110;&#20840;&#37096;&#30340;&#29376;&#24907;&#36865;&#20986;&#3=
1062;&#39006;&#21029;&#30340;&#35531;&#27714;&#20415;&#21487;&#20197;&#3694=
8;&#25104;&#12290;</span><span
lang=3DEN-US>(It works in case where children can avoid sending parent requ=
ests
by externalizing some or all of their state.)</span></p>

<p class=3DMsoNormal style=3D'margin-left:24.0pt;text-indent:-24.0pt;mso-li=
st:l26 level1 lfo20;
tab-stops:list 24.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'mso=
-fareast-font-family:
"Times New Roman"'><span style=3D'mso-list:Ignore'>3.<span style=3D'font:7.=
0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-family:PMingLiU;mso-a=
scii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#26368;&#22823;=
&#21270;&#30340;&#20803;&#20214;&#20171;&#38754;</span></b><span
style=3D'font-family:PMingLiU;mso-ascii-font-family:"Times New Roman";mso-h=
ansi-font-family:
"Times New Roman"'>&#65306;&#21512;&#25104;&#27171;&#24335;&#30340;&#19968;=
&#20491;&#30446;&#27161;&#26159;&#35731;&#20351;&#29992;&#31471;&#28961;&#3=
8920;&#30637;&#35299;&#20182;&#20497;&#25152;&#20351;&#29992;&#30340;</span=
><span
class=3DSpellE><span lang=3DEN-US>TLeaf</span></span><span style=3D'font-fa=
mily:PMingLiU;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Ro=
man"'>&#21450;</span><span
class=3DSpellE><span lang=3DEN-US>TComposite</span></span><span style=3D'fo=
nt-family:
PMingLiU;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Tim=
es New Roman"'>&#39006;&#21029;&#12290;&#35201;&#36948;&#25104;&#

⌨️ 快捷键说明

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