外观模式(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待续写
原文链接: https://www.cnblogs.com/azbane/p/11568352.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/398537
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!