前言
月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂)
央是一片海洋,海乃百川,代表着一块海绵(吸纳万物)
泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出)
月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容
希望大家一起坚持这个过程,也同样希望大家最终都能从零到零,把知识从薄变厚,再由厚变薄!
一、什么是门面模式?
门面模式,是指提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口,使得子系统更容易使用
二、门面模式的优缺点
优点:
-
简化接口:门面模式提供了一个简单的接口来访问子系统,从而减少了客户端与子系统之间的复杂性。
-
解耦系统:门面模式将客户端与子系统解耦,从而使得子系统的修改不会影响到客户端。
-
提高安全性:门面模式可以限制客户端对子系统的直接访问,从而提高了安全性。
-
提高可维护性:门面模式将系统的复杂性隐藏在门面后面,从而使得系统更容易维护和修改。
缺点:
-
过度使用门面模式可能会导致代码变得复杂和难以维护。
-
门面模式可能会使代码过度耦合,因为所有客户端代码都需要通过门面进行访问。
-
门面模式可能会导致性能问题,因为每次调用门面都需要执行一些额外的代码来处理请求。
-
如果门面过于复杂,可能会导致代码重复和冗余。
-
门面模式可能会限制系统的扩展性,因为所有客户端代码都需要通过门面进行访问,而不能直接访问底层组件
三、门面模式的结构:
四、门面模式实战
以上面结构图为例,当我们需要在家做饭的时候 ,需要买菜,洗菜,做饭,洗盘子这么多流程,而且这些流程还会有一定的顺序,这个时候如果有一个门面,我需要吃的时候直接吃就好了,不用考虑那么多步骤以及这些步骤之间的顺序,因此,这个时候餐厅就出来了,门面模式诞生了,你只需要去餐厅吃饭即可,其他都有餐厅来做了.
1.创建步骤流程(买菜->洗菜->做饭->洗盘子)
2.创建门面餐厅类
3.顾客来访:
4.测试结果
五.总结
门面模式是一种结构型的设计模式,包括我们自己使用很多第三方的jar包,其实就是一种门面模式的具体使用,不需要考虑细节,我们只需要尽情调用即可,当然为了提升自己,还是建议小伙伴们多去看下底层代码,说不定会对自己未来某块业务上有帮助.