返回介绍

外观模式

发布于 2023-10-02 15:31:45 字数 4704 浏览 0 评论 0 收藏 0

是什么?

外观模式提供一个统一的高层的接口,用来访问子系统中的一群接口。

结构组成及作用

外观模式是比较容易理解的一个设计模式。举个最易懂常见的例子,一般web后端开发人员都接触过MVC模式,而在MVC中,我们会将M层中分为Controller,Service,DAO,pojo等常见分层。 而Service层就应用了外观模式,把巨多细节(n个DAO操作等等)按照一定的逻辑进行抽象封装在一起。简单来说,一般可能一个业务操作(service里的一个方法)里包含对多个dao的操作,这单个service方法相当于下图中的Facade(外观)。  Facade structure diagram 图片摘自 [1]

示例实现

这模式我决定不贴代码罗。

完整代码么么哒

效果及应用场景

外观模式使特定的逻辑得到封装,减少客户与子系统间的耦合,方便调用。

注意点

《深入浅出设计模式》里提到一个原则:“最少知识”原则。里面提到为尽量减少耦合,Facade里的调用应该遵循以下条款: 只应该调用

  1. 该对象本身
  2. 被当作方法的参数而传递进来的对象
  3. 此方法所处创建或实例化的任何对象
  4. 对象的任何组件

references

[1]Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides.设计模式:可复用面向对象软件的基础[M].中国:机械工业出版社,2000

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文