23种设计模式(未完待续2)

组合模式:

非常适合处理树形结构。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yDdHduVO-1584890527479)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584854502193.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8WlB7fOB-1584890527482)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584854513776.png)]

抽象组件:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NhZWWTsN-1584890527483)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584854415856.png)]

叶子组件:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YLbICGVI-1584890527485)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584854461088.png)]

容器组件:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mQsW55tY-1584890527486)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584854478435.png)]

使用组合模式,模拟杀毒软件架构设计:

抽象组件:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qlmzeOLc-1584890527487)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584854782643.png)]

叶子组件(图像文件):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CrH3oYn6-1584890527488)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584854916289.png)]

叶子组件(文本文件):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JiVHmTDA-1584890527489)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584854982531.png)]

叶子组件(视频文件):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OiHUPp8a-1584890527490)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584855050718.png)]

容器组件(文件夹):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DwAAzA0n-1584890527492)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584855325065.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fZaER0Ge-1584890527493)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584855422071.png)]

测试:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o2Ovdpi8-1584890527494)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584855736109.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tffVPkB4-1584890527495)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584855744892.png)]

外观模式:

迪米特法则(最少知识原则):一个软件实体应当尽可能少的与其他实体发生相互作用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XPnnv1qf-1584890527496)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584856433369.png)]

(有茶馆服务员帮你处理泡茶工具)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cCWwEIG4-1584890527497)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584856520069.png)]

办理注册公司流程的门面对象(典型的封装):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bHlxyowh-1584890527498)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584856875708.png)]

顾客:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LyXx9bk1-1584890527499)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584856927126.png)]

享元模式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wRPfmE6x-1584890527501)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584857271123.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XSiKUd9g-1584890527502)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584857415201.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HRsb55zf-1584890527503)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584858755891.png)]

实现围棋架构设计:

抽象享元类:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yDKWqbxk-1584890527504)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584857838368.png)]

非共享享元类(坐标类):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J6lmsYfB-1584890527505)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584857710893.png)]

具体享元类:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EGKFQhfu-1584890527506)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584858023493.png)]

享元工厂:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p9ZDUsC6-1584890527507)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584858313094.png)]

测试:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-30fNx3Xb-1584890527508)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584858536306.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jKqKqnSR-1584890527509)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584858566919.png)]

行为型模式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UzihEhoM-1584890527510)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584858955834.png)]

责任链模式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AfKqspeW-1584890527512)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584859163669.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xRYRQ1Dj-1584890527513)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584859184419.png)]

实现请假流程:

封装请假的基本信息:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UaT24tbf-1584890527514)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584860053969.png)]

抽象处理者:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0AnUXhxh-1584890527515)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584860239242.png)]

(定义抽象的处理请求的核心方法,因为该方法需要子类来具体实现)

处理者(主任):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bh3E41dZ-1584890527516)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584860759285.png)]

处理者(经理):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m7udvm43-1584890527517)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584860857485.png)]

处理者(总经理):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FdWJQd1s-1584890527518)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584860951477.png)]

测试:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EPXMUnfv-1584890527519)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584861280112.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vzUsqZch-1584890527520)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584861810771.png)]

命令模式(在项目实践中不常用):

数据库事务的底层实现用的就是命令模式。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RvMNdRyE-1584890527521)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584863138717.png)]

真正的命令的执行者:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Itj4p6Vw-1584890527522)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584862484814.png)]

抽象的命令:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ns8qiPPD-1584890527523)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584862583036.png)]

命令:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KBPpYvAh-1584890527524)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584862668188.png)]

调用者或发起者:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QYWqQ1Np-1584890527525)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584862833494.png)]

测试:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BaHVtdjO-1584890527526)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584862882445.png)]

发布了38 篇原创文章 · 获赞 38 · 访问量 2736

猜你喜欢

转载自blog.csdn.net/l13kddd/article/details/105038879