• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
我是张洪铭我是熊博士
时光静好,与君同;细水长流,与君语
博客园    首页    新随笔    联系   管理    订阅  订阅

外观模式 --- 提供统一的入口

设计模式目录

外观模式(Facade Pattern):对外部与一个系统的通信通过一个统一的外观角色进行, 为子系统中的一组接口提供一个一致的入口,外观模式定义了一个高层接口, 这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。

 

关于设计外观模式的补充说明:

1、系统中只需要一个外观类的实例:  单例化外观类。

2、试图通过外观类为子系统增加新行为的做法是错误的。外观模式的目的是为简化客户端对子系统的使用,是一个沟通渠道。

3、外观模式可以降低客户端跟多个子系统间的耦合度。

4、层次化结构中,外观模式可用于层与层之间的交互,降低层之间的耦合度。

 

经验案例咀嚼:  Qt用 ” 模型-代理-视图 " 实现 " 树控件TreeContrcl " 。

1、用外观模式的思想分析此按例。

        1.1) 场景举例:

                 数据分析项目AnalysisDataPro具有一个树形控件TreeContrcl(这里TreeContrcl就相当于一个小的系统)

        1.2) 系统的组成:

                 TreeContrcl控件系统内,可能会含有 “  类QAbstractItemModel的自定义子类  “ 、 ”  类QAbstractItemView的自定义子类 " 、“ 类QAbstractItemDelegate的自定义子类 " 、以及 ” 针对真实需求的数据结构类 “ 。

         1.3)系统内部业务:

                 对TreeContrcl控件来讲,鼠标右键弹出菜单、双击进行编辑、项的选择....等等操作场景, 仅仅是 TreeContrcl控件 本身这个系统内部的业务逻辑,与整体软件的其他部分不相干。

          1.4) 系统对外业务:

.....2020-08-14待续写

posted @ 2019-09-22 17:32  我是张洪铭我是熊博士  阅读(203)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3