📄 工厂方法样式.mht
字号:
endif]></span><span
lang=3DEN-US><span style=3D'mso-tab-count:1'> </span></span><sp=
an
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>当无法事先知道=
哪一个类别要被建构=
3454;体对象时。</span><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'margin-left:18.0pt;tab-stops:list 36.0pt'><sp=
an
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><!--[if gte vml 1]><v:sha=
pe id=3D"_x0000_i1027"
type=3D"#_x0000_t75" style=3D'width:9pt;height:9pt' o:bullet=3D"t">
<v:imagedata src=3D"file7231.files/image004.gif" o:title=3D"BD10300_"/>
</v:shape><![endif]--><![if !vml]><img width=3D12 height=3D12
src=3D"file7231.files/image004.gif" alt=3D"*" v:shapes=3D"_x0000_i1027"><![=
endif]></span><span
lang=3DEN-US><span style=3D'mso-tab-count:1'> </span></span><sp=
an
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>当一个类别要让=
其子类别决定构建对=
5937;的实体时。</span><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'margin-left:36.0pt;mso-para-margin-left:1.5gd;
text-indent:-18.0pt;mso-char-indent-count:-1.5;tab-stops:list 36.0pt'><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><!--[if gte vml 1]><v:sha=
pe id=3D"_x0000_i1028"
type=3D"#_x0000_t75" style=3D'width:9pt;height:9pt' o:bullet=3D"t">
<v:imagedata src=3D"file7231.files/image004.gif" o:title=3D"BD10300_"/>
</v:shape><![endif]--><![if !vml]><img width=3D12 height=3D12
src=3D"file7231.files/image004.gif" alt=3D"*" v:shapes=3D"_x0000_i1028"><![=
endif]></span><span
lang=3DEN-US><span style=3D'mso-tab-count:1'> </span></span><sp=
an
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>当类别委托其责=
任给多个辅助他的子=
1867;别其中之一;同时߰=
0;想要将这些委托给哪&=
#19968;个子类别的知识集=
013;管理</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>(localize)</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>时。</span><span lang=3DEN-US style=3D'mso-f=
areast-language:
ZH-TW'><o:p></o:p></span></p>
<h3><!--[if gte vml 1]><v:shape id=3D"_x0000_s1027" type=3D"#_x0000_t75" st=
yle=3D'position:absolute;
margin-left:0;margin-top:45pt;width:414pt;height:106.2pt;z-index:1;
mso-position-horizontal:center' stroked=3D"t" strokeweight=3D"1.25pt">
<v:imagedata src=3D"file7231.files/image005.emz" o:title=3D""/>
</v:shape><![endif]--><![if !vml]><span style=3D'mso-ignore:vglayout;positi=
on:
absolute;z-index:1;margin-left:0px;margin-top:58px;width:556px;height:146px=
'><img
width=3D556 height=3D146 src=3D"file7231.files/image006.gif" v:shapes=3D"_x=
0000_s1027"></span><![endif]><span
style=3D'font-family:SimSun;mso-ascii-font-family:Arial;mso-hansi-font-fami=
ly:
Arial'>结构</span><span lang=3DEN-US>(Structure)</span><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></h3>
<p class=3DMsoNormal><span lang=3DEN-US style=3D'mso-fareast-language:ZH-TW=
'><o:p> </o:p></span></p>
<p class=3DMsoNormal><span lang=3DEN-US style=3D'mso-fareast-language:ZH-TW=
'><o:p> </o:p></span></p>
<p class=3DMsoNormal><span lang=3DEN-US style=3D'mso-fareast-language:ZH-TW=
'><o:p> </o:p></span></p>
<p class=3DMsoNormal><span lang=3DEN-US style=3D'mso-fareast-language:ZH-TW=
'><o:p> </o:p></span></p>
<p class=3DMsoNormal><span lang=3DEN-US style=3D'mso-fareast-language:ZH-TW=
'><o:p> </o:p></span></p>
<h3><span style=3D'font-family:SimSun;mso-ascii-font-family:Arial;mso-hansi=
-font-family:
Arial'>参与者</span><span lang=3DEN-US>(Participants)</sp=
an><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></h3>
<p class=3DMsoNormal style=3D'margin-left:18.0pt;tab-stops:list 36.0pt'><sp=
an
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><!--[if gte vml 1]><v:sha=
pe id=3D"_x0000_i1029"
type=3D"#_x0000_t75" style=3D'width:9pt;height:9pt' o:bullet=3D"t">
<v:imagedata src=3D"file7231.files/image004.gif" o:title=3D"BD10300_"/>
</v:shape><![endif]--><![if !vml]><img width=3D12 height=3D12
src=3D"file7231.files/image004.gif" alt=3D"*" v:shapes=3D"_x0000_i1029"><![=
endif]></span><span
lang=3DEN-US><span style=3D'mso-tab-count:1'> </span></span><sp=
an
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>Product</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>:定义抽象工厂=
方法所构建之对象的=
5509;口。</span><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'margin-left:18.0pt;tab-stops:list 36.0pt'><sp=
an
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><!--[if gte vml 1]><v:sha=
pe id=3D"_x0000_i1030"
type=3D"#_x0000_t75" style=3D'width:9pt;height:9pt' o:bullet=3D"t">
<v:imagedata src=3D"file7231.files/image004.gif" o:title=3D"BD10300_"/>
</v:shape><![endif]--><![if !vml]><img width=3D12 height=3D12
src=3D"file7231.files/image004.gif" alt=3D"*" v:shapes=3D"_x0000_i1030"><![=
endif]></span><span
lang=3DEN-US><span style=3D'mso-tab-count:1'> </span></span><sp=
an
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>ContreteProduct</span=
><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>:实作</span><span lang=3DEN-US
style=3D'mso-fareast-font-family:SimSun'>Product</span><span style=3D'font-=
family:
SimSun;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times=
New Roman"'>的界面。</span><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'margin-left:18.0pt;tab-stops:list 36.0pt'><sp=
an
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><!--[if gte vml 1]><v:sha=
pe id=3D"_x0000_i1031"
type=3D"#_x0000_t75" style=3D'width:9pt;height:9pt' o:bullet=3D"t">
<v:imagedata src=3D"file7231.files/image004.gif" o:title=3D"BD10300_"/>
</v:shape><![endif]--><![if !vml]><img width=3D12 height=3D12
src=3D"file7231.files/image004.gif" alt=3D"*" v:shapes=3D"_x0000_i1031"><![=
endif]></span><span
lang=3DEN-US><span style=3D'mso-tab-count:1'> </span></span><sp=
an
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>Creator</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>:</span><span lang=3DEN-US style=3D'mso-fareast-l=
anguage:
ZH-TW'><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'margin-left:48.0pt;mso-para-margin-left:2.5gd;
text-indent:-18.0pt;mso-char-indent-count:-1.5;tab-stops:list 36.0pt'><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><!--[if gte vml 1]><v:sha=
pe id=3D"_x0000_i1032"
type=3D"#_x0000_t75" style=3D'width:9pt;height:9pt' o:bullet=3D"t">
<v:imagedata src=3D"file7231.files/image007.gif" o:title=3D"BD10268_"/>
</v:shape><![endif]--><![if !vml]><img width=3D12 height=3D12
src=3D"file7231.files/image007.gif" alt=3D"*" v:shapes=3D"_x0000_i1032"><![=
endif]></span><span
lang=3DEN-US><span style=3D'mso-tab-count:1'> </span></span><sp=
an
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>宣告工厂方法;=
这个方法传回特定</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>Product</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>种类的对象。</span><=
span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>Creator</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>也可以定义一个=
预设的工厂方法实作=
0256;回预设的</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>ContreteProduct</span=
><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>对象。</span><span lang=3DEN-US
style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'margin-left:30.0pt;mso-para-margin-left:2.5gd;
tab-stops:list 36.0pt'><span lang=3DEN-US style=3D'mso-fareast-language:ZH-=
TW'><!--[if gte vml 1]><v:shape
id=3D"_x0000_i1033" type=3D"#_x0000_t75" style=3D'width:9pt;height:9pt' o:=
bullet=3D"t">
<v:imagedata src=3D"file7231.files/image007.gif" o:title=3D"BD10268_"/>
</v:shape><![endif]--><![if !vml]><img width=3D12 height=3D12
src=3D"file7231.files/image007.gif" alt=3D"*" v:shapes=3D"_x0000_i1033"><![=
endif]></span><span
lang=3DEN-US><span style=3D'mso-tab-count:1'> </span></span><sp=
an
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>可以呼叫一个工=
厂方法构建一个</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>Product</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>对象。</span><span lang=3DEN-US
style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'margin-left:18.0pt;tab-stops:list 36.0pt'><sp=
an
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><!--[if gte vml 1]><v:sha=
pe id=3D"_x0000_i1034"
type=3D"#_x0000_t75" style=3D'width:9pt;height:9pt' o:bullet=3D"t">
<v:imagedata src=3D"file7231.files/image004.gif" o:title=3D"BD10300_"/>
</v:shape><![endif]--><![if !vml]><img width=3D12 height=3D12
src=3D"file7231.files/image004.gif" alt=3D"*" v:shapes=3D"_x0000_i1034"><![=
endif]></span><span
lang=3DEN-US><span style=3D'mso-tab-count:1'> </span></span><sp=
an
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>ContreteCreator</span=
><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>:改写</span><span lang=3DEN-US
style=3D'mso-fareast-font-family:SimSun'>(override)</span><span style=3D'fo=
nt-family:
SimSun;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times=
New Roman"'>工厂方法传回</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>ContreteProduct</span=
><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>的实体对象。</span><=
span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<h3><span style=3D'font-family:SimSun;mso-ascii-font-family:Arial;mso-hansi=
-font-family:
Arial'>合作</span><span lang=3DEN-US>(Collaborations)</span><sp=
an
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></h3>
<p class=3DMsoNormal style=3D'text-indent:27.0pt;mso-char-indent-count:2.25=
'><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>Creator</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>依赖其子类别定=
义工厂方法使之可以=
0256;回正确的</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>ContreteProduct</span=
><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>实体对象。</span><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<h3><span style=3D'font-family:SimSun;mso-ascii-font-family:Arial;mso-hansi=
-font-family:
Arial'>结论</span><span lang=3DEN-US>(consequences)</span><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></h3>
<p class=3DMsoNormal style=3D'text-indent:27.0pt;mso-char-indent-count:2.25=
'><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>工厂方法摆脱必=
须将与应用系统关连</s=
pan><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>(application-specific=
)</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>的类别与程序代=
码绑在一起。程序代=
0721;只要处理</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>Product</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>的接口如此才可=
以接受任何使用端定=
0041;的</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>ContreteProduct</span=
><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>类别。</span><span lang=3DEN-US
style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'text-indent:27.0pt;mso-char-indent-count:2.25=
'><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>工厂方法样式隐=
含一个缺点就是使用=
1471;可能必须从</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>Creator</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>类别继承只是构=
建一个特定</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>ContreteProduct</span=
><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>对象。当使用端=
必须从</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>Creator</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>继承是好的,但=
是使用端必须去处理=
0854;它发展的观点</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>(point of evolution)<=
/span><span
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -