1. 外观模式介绍
1.1 简介
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。
这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。
引用自“菜鸟教程”
1.2 解决的问题
也就是咋说呢?就是一段逻辑需要很多步骤,比较繁琐,你给他封装一下,然后暴露一个接口给调用者。这样也符合最少知道原则。我们肯定经常也用,比如封装一个工具类啊。什么的。
1.3 啥时候用?
反正就是封装一段逻辑。暴露一个接口。看你情况把。那么举一个例子哈,
比如我们java后端开发,不就是弄三个层么
一个dao 一个service 一个controller
那么这个肯定是外观模式把。你controller 就接收参数,反正就是把参数传给service ,具体service怎么做的,弄了啥样的业务逻辑,你需要关心么?反正你传个参数就完事了。
你service 调用dao,你service 用关心他怎么写的这个sql啊。啥的。这个用service关心?这不就是外观模式么
比如我们微服务开发,你好多个微服务部署,这个时候,你弄个网关,然后呢,前端只是访问的网关,前端不需要知道那么多微服务的地址啥的。前端就访问网关就行。这个网关,不就算是一个外观模式的例子么,不就是门面么?
以上只是个人理解,不想误人子弟。
2. 总结
这个模式没啥好写代码的。主要还是灵活运用。设计模式是前人总结出来的经验,我希望我以后可以灵活的去运用。不要为了使用设计模式而使用设计模式。。。。希望大家也是。。。。。。。。。