python设计模式之门面模式

python设计模式之门面模式,第1张

概述一.结构型设计模式 门面模式与单例模式,工厂模式不同,它是一种结构型模式。 结构型模式描述如何将对象和类组合成更大的结构 结构型模式是一种能够简化设计工作的模式,它能找出更简单的方法来认识或表示实体之

<div data-md-url="https://i.cnblogs.com/Editposts.aspx?postID=10035644">
<h1 ID="-" >一.结构型设计模式
<p >门面模式与单例模式,工厂模式不同,它是一种结构型模式。


<blockquote >
<ul >
<li >结构型模式描述如何将对象和类组合成更大的结构
<li >结构型模式是一种能够简化设计工作的模式,它能找出更简单的方法来认识或表示实体之间的关系。
<li >结构型模式是类和对象模式的综合体。类模式通过继承来描述抽象,从而提供更有用的程序接口,而对象模式描述了如何将对象联系起来从而组合成更大的对象。

 :     :        Waiter().make_set_meal1()

<span ><span >class <span >Waiter<span >():
<span ><span >def <span >make_set_meal_1<span >(self):
Coke().make()
Hamburger().make()
french_frIEs().make()

<span ><span >class <span >Coke<span >():
<span ><span >def <span >make<span >(self):
print(<span >'making coke')

<span ><span >class <span >Hamburger<span >():
<span ><span >def <span >make<span >(self):
print(<span >'making hamburger')

<span ><span >class <span >french_frIEs<span >():
<span ><span >def <span >make<span >(self):
print(<span >'making french frIEs')

you=ClIEnt()
you.order()
<span >'''

making coke
making hamburger
making french frIEs

'''


<p >这里的make_set_meal_1,做套餐1,也就是让子系统的组合完成任务,将这个复杂的组合封装了起来。当然可能还有其他类型的套餐,那么Waiter里还可以添加其他的方法,但是这与子系统没有太大的联系,只是增加了又一种组合,例如只点可乐和汉堡的套餐,只需要增加Waiter的方法,不需要修改子系统。


<h1 ID="-" >四.最少知识原则
<p >门面模式背后的设计原理就是最少知识原则,它的理念为减少对象之间的交互,这意味着:


<ul >
<li >对于设计系统时创建的每个对象,都应该考察与之交互的类的数量以及交互的方式
<li >这样能够避免创建许多彼此紧密耦合的类,如果类与类之间存在大量的依赖关系,那么对于系统的任何一部分的修改都有可能导致系统的其他部分无意的被改变。

<p >参考《python设计模式(第2版)》


<div title="MDH:PHA+I+S4gC7nu5PmnoTlnovorr7orqHmqKHlvI88L3A+PHA+6Zeo6Z2i5qih5byP5liO5Y2V5L6L
5qih5byP77yM5bel5Y6C5qih5byP5liN5ZCM77yM5a6D5piv5liA56eN57uT5p6E5Z6L5qih5byP
44CCPC9wPjxwPiZndDsqIOe7k+aehOWei+aooeW8j+aPj+i/sOWmguS9leWwhuWvueixoeWSjOex
u+e7hOWQiOaIkOabtOWkp+eahOe7k+aehDWvcD48cD4qIOe7k+aehOWei+aooeW8j+aYr+S4gOen
jeIDveWkn+eugOWMluiuvuiuoeW3peS9nOeahOaooeW8j++8jOWug+IDveaJvuWHuuabtOeugOWN
leeahOaWueazleadpeiupOivhuaIluihqOekuuWunuS9k+S5i+mXtOeahOWFs+ezu+OAgjwvcD48
cD4qIOe7k+aehOWei+aooeW8j+aYr+exu+WSjOWvueixoeaooeW8j+eahOe7vOWQiOS9k+OAguex
u+aooeW8j+mAmui/h+e7p+aJv+adpeaPj+i/sOaKveixoe+8jOS7juiAjOaPkOS+m+abtOacIEeU
qOeahOeoi+W6j+aOpeWPo++8jOiAjOWvueixoeaooeW8j+aPj+i/sOS6huWmguS9leWwhuWvueix
oeiBlOezu+i1t+adpeS7juiAjOe7hOWQiOaIkOabtOWkp+eahOWvueixoeOAgjwvcD48cD4mbmJz
cDs8L3A+PHA+I+S6jC7nkIbop6Ppl6jpnaLorr7orqHmqKHlvI88L3A+PHA+KIDlroPkulrlrZDn
s7vnu5/kuK3nmoTkuIDnu4TmjqXlj6Pmj5DkvpvkuIDkuKrnu5/kuIDnmoTmjqXlj6PvvIzlubbl
rprkuYnkuIDkuKrpq5jnuqfmjqXlj6PmnaXluK7liqnlrqLmiLfnq6/pgJrov4fmm7TnroDljZXn
moTmlrnlvI/kvb/nlKjlrZDns7vnu5/jgII8L3A+PHA+Kidpl6jpnaLmiYDop6PlhrpnmoTpl67p
opjmmK/vvIzlpolkvZXnlKjljZXkuKrmjqXlj6Plr7nosaHmnaXooajnpLrlpI3mnYLnmoTlrZDn
s7vnu5/vvIzlroPlrp7pmYXkuIrlubbkuI3mmK/lsIHoo4XlrZDns7vnu5/vvIzogIzmmK/lr7nl
upXlsYLlrZDns7vnu5/ov5vooYznu4TlkIjjgII8L3A+PHA+KIDlroPkv4Pov5vlrp7njrDlrZDn
s7vnu5/kuI7lrqLmiLfnq6/nmotop6PogKbjgII8L3A+PHA+Jm5ic3A7PC9wPjxwPumAmui/h+i/
meS4IEadoeWGheWuue+8jOi/mOaYr+mavuS7peeQhuino+mXqOmdouaooeW8j+WFt+S9k+eahOeQ
huW/te+8jOaIkeS7rOWAn+WKqeS4gOS4qlVNTOWbvuadpeeQhuino++8mjwvcD48cD48aW1nIHNy
Yz0iaHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQ2OTAxNS8yMDE4MTEvMTQ2OTAx
NS0yMDE4MTEyODIyMDg0MjUzOC0yMDY3MTI0NjYwLnBuZyIgYWx0PSIiIHdpZHRoPSI0OTAiIGhl
aWdodD0iMjk1IiBkYXRhLW1jZS1zcmM9Imh0dHBzOi8vaW1nMjAxOC5jbmJsb2dzLmNvbS9ibG9n
LzE0NjkwMTUvMjAxODExLzE0NjkwMTUtMjAxODExMjgyMjA4NDI1MzgtMjA2NzEyNDY2MC5wbmci
PjwvcD48cD7ov5nph4zpnaLmnInkuInkuKrlj4LkuI7ogIXvvIzpl6jpnaLvvIzlrqLmiLfnq6/v
vIzns7vnu588L3A+PHA+5a6i5oi356uv77ya5a6i5oi356uv5a6e5L6L5YyW6Zeo6Z2i57G777yM
5bm25ZCR6Zeo6Z2i5o+Q5Ye66KaB5rGC77yM5Y676K6p5a2Q57O757uf5a6M5oiQ55u45bqU55qE
5Yqf6IO9PC9wPjxwPumXqOmdou+8mumXqOmdouaOpeWIsOWuouaIt+err+eahOivt+axgu+8jOWO
u+WIpOaWreivpeeUseWTquS6m+WtkOezu+e7n+WujOaIkOW3peS9nO+8jOW5tuS4lOWuIEaOkue7
meS7luS7rOS7u+WKoeOAgjwvcD48cD7ns7vnu5/vvJrns7vnu5/lpITnkIbpl6jpnaLlr7nosaHl
iIbphY3nmoTku7vliqHvvIzlrozmiJDlt6XkvZw8L3A+PHA+Jm5ic3A7PC9wPjxwPueugOWNleeQ
huino++8muaVtOS4quaooeW8j+eahOaJp+ihjOaWueW8j+WwseaYr++8jOmXqOmdouaOpeaUtuWu
ouaIt+err+eahOmcgOaxgu+8jOWOu+WuIEaOkuezu+e7n+WujOaIkOW3peS9nOOAgueUqOS4gOS4
queugOWNleeahOS+i+WtkOS4vuS+i++8muWOu+W/q+mkkOW6L++8jOaIkeS7rOWQkeacjeWKoeWR
mOeCueS6huS4gOS7vXh45aWX6aSQ77yM5aWX6aSQ6YeM5pyJ5liA5p2v5Yaw5Y+v5LmQ77yM5liA
5liq5rGJ5aCh77yM5liA5Lu96Jav5p2h77yM6L+Z5pe25pyN5Yqh5ZGY5ZCs5Yiw5L2g55qE54K5
6aSQ5ZCO77yM5omt5aS05ZGK6K+J5ZCO5Y6o6ZyA6KaB5liA5Lu9eHjlpZfppJDvvIzkuo7mmK/l
kI7ljqjmnInkuInkuKrkurrlvIDlp4vooYzliqjvvIzkuIDkuKrlgZrlj6/kuZDvvIzkuIDkuKrl
gZrmsYnloKHvvIzkuIDkuKrlgZrolq/mnaHjgIlov5nkuKrkvovlrZDph4zvvIzkvaDlsLHmmK/l
rqLmiLfnq6/vvIzmnI3liqHlkZjkulrpl6jpnaLvvIzlkI7ljqjnmoTkuInkuKrkurrlgZrkuJzo
pb/kulrkuInkuKrlrZDns7vnu5/vvIzku5bku6znu4TlkIjlkIjkvZzlrozmiJDov5nku73lpZfp
pJDnmoTliLbkvZzjgIlov5nmolfnnIvmnaXvvIzpl6jpnaLmqKHlvI/nmoTnkIbop6Pkvr/pnZ7l
uljnroDljZXkuoY8L3A+PHA+I+S4iS5weXRob27lrp7njrdpl6jpnaLmqKHlvI88L3A+PHA+5bCx
55So5liK6L+w5b+r6aSQ5bqX54K56aSQ55qE5L6L5a2QPC9wPjxwPmBgYHB5dGhvbjwvcD48cHJl
PmNsYXNzIENsaWVudCgpOjxicj4gICAgZGVmIG9yZGVyKHNlbGYpOjxicj4gICAgICAgIFdhaXRl
cigpLm1ha2Vfc2V0X21lYWwxKCk8YnI+PGJyPmNsYXNzIFdhaXRlcigpOjxicj4gICAgZGVmIG1h
a2Vfc2V0X21lYWxfMShzZWxmKTo8YnI+ICAgICAgICBDb2tlKCkubWFrZSgpPGJyPiAgICAgICAg
SGFtYnVyZ2VyKCkubWFrZSgpPGJyPiAgICAgICAgRnJlbmNoX2ZyaWVzKCkubWFrZSgpPGJyPjxi
cj5jbGFzcyBDb2tlKCk6PGJyPiAgICBkZWYgbWFrZShzZWxmKTo8YnI+ICAgICAgICBwcmludCgn
bWFraW5nIGNva2UnKTxicj48YnI+Y2xhc3MgSGFtYnVyZ2VyKCk6PGJyPiAgICBkZWYgbWFrZShz
ZWxmKTo8YnI+ICAgICAgICBwcmludCgnbWFraW5nIGhhbWJ1cmdlcicpPGJyPjxicj5jbGFzcyBG
cmVuY2hfZnJpZXMoKTo8YnI+ICAgIGRlZiBtYWtlKHNlbGYpOjxicj4gICAgICAgIHByaW50KCdt
YWtpbmcgZnJlbmNoIGZyaWVzJyk8YnI+PGJyPnlvdT1DbGllbnQoKTxicj55b3Uub3JkZXIoKTxi
cj4nJyc8L3ByZT48cD5tYWtpbmcgY29rZTxicj5tYWtpbmcgaGFtYnVyZ2VyPGJyPm1ha2luZyBm
cmVuY2ggZnJpZXM8L3A+PHByZT4nJyc8L3ByZT48cD5gYGA8L3A+PHA+6L+Z6YeM55qEbWFrZV9z
ZXRfbWVhbF8x77yM5YGa5aWX6aSQMe+8jOS5n+WwseaYr+iuqeWtkOezu+e7n+eahOe7hOWQiOWu
jOaIkOS7u+WKoe+8jOWwhui/meS4quWkjeadgueahOe7hOWQiOWwgeijheS6hui1t+adpeOAguW9
k+eEtuWPr+IDvei/mOacIEWFtuS7luexu+Wei+eahOWll+mkkO+8jOmCo+S5iFdhaXRlcumHjOi/
mOWPr+S7pea3u+WKoOWFtuS7lueahOaWueazle+8jOS9huaYr+i/meS4juWtkOezu+e7n+ayoeac
IEWkquWkp+eahOiBlOezu++8jOWPquaYr+WinuWKoOS6huWPiOS4gOenjee7hOWQiO+8jOS+i+Wm
guWPqueCueWPr+S5kOWSjOaxIEWgoeeahOWll+mkkO+8jOWPqumcgOimgeWinuWKoFdhaXRlcuea
hOaWueazle+8jOS4jemcgOimgeS/ruaUueWtkOezu+e7n+OAgjwvcD48cD4j5ZubLuacgOWwkeef
peivhuWOn+WImTwvcD48cD7pl6jpnaLmqKHlvI/Og4zlkI7nmoTorr7orqHljp/nkIblsLHmmK/m
nIDlsJHnn6Xor4bljp/liJnvvIzlroPnmoTnkIblv7Xkulrlh4/lsJHlr7nosaHkuYvpl7TnmoTk
uqTkupLvvIzov5nmhI/lkbPnnYA6PC9wPjxwPiog5a+55LqO6K6+6K6h57O757uf5pe25Yib5bu6
55qE5q+P5liq5a+56LGh77yM6YO95bqU6K+l6ICD5a+f5liO5LmL5Lqk5LqS55qE57G755qE5pWw
6YeP5Lul5Y+K5Lqk5LqS55qE5pa55byPPC9wPjxwPiog6L+Z5qC36IO95aSf6YG/5YWN5Yib5bu6
6K645aSa5b285q2k57Sn5a+G6ICm5ZCI55qE57G777yM5aaC5p6c57G75liO57G75LmL6Ze05a2Y
5Zyo5aSn6YeP55qE5L6d6LWW5YWz57O777yM6YKj5LmI5a+55LqO57O757uf55qE5Lu75L2V5liA
6YOo5YiG55qE5L+u5pS56YO95pyJ5Y+v6IO95a+86IE057O757uf55qE5YW25LuW6YOo5YiG5peg
5oSP55qE6KKr5pS55Y+Y44CCPC9wPjxwPiZuYnNwOzwvcD48cD4qKio8L3A+PHA+5Y+C6ICD44CK
cHl0aG9u6K6+6K6h5qih5byP77yI56ysMueJiO+8IEOAizwvcD48cD4mbmJzcDs8L3A+">​

总结

以上是内存溢出为你收集整理的python设计模式之门面模式全部内容,希望文章能够帮你解决python设计模式之门面模式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1208205.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存