C++ 类层次结构的设计方法学

本文探讨了C++类层次结构的设计,强调了分离接口和实现、替换实现、重复基类、共享实现等方法。通过示例介绍了如何使用抽象工厂和Clone模式,以提高代码的灵活性和可替换性。文章引用了多个C++经典著作,提供了设计类层次结构的指导。
摘要由CSDN通过智能技术生成

作者:Breaker <breaker.zy_AT_gmail>


关于 C++ 类层次结构的设计方法学,note-to-self + keynote + cross-reference 式笔记

本文精炼于 [CPP LANG] 12.4, 15.2 的 BBWindow 示例,只涉及 design
Syntax 参考 [CPP LANG] Ch12, 15; [CPP PRIMER] Ch17, 18
Play with bits 参考 [CPP OBJMODEL] 5.2

keyword: class hierarchy, multiple inheritance, abstract class, virtual base class, abstract factory, clone

目录


示例场景^

IValBox: 取得用户输入整数的 GUI 元素之抽象类,它不绑定具体 GUI 元素,如 slider 滑块, dial 拨盘

IValSlider: 滑块式 IValBox 实现,类似的还有 IValDial 拨盘式实现,代表 IValBox 类层次中具体的 GUI 元素。这些类可以进一步扩展,如从 IValSlider 派生出 PopupIValSlider

BBWindow: 第三方提供的 GUI 元素实现,类似 MFC 的 CWnd 等。IValBox 的类层次依靠 BBWindow 的类层次实现 GUI 特性(画图之类)。BBWindow 只是形式名,它可以替换,其意义就像将 MFC 换成 Qt 一样,这使得 IValBox 的类层次能够减小对特定 GUI 元素实现的依赖

UML: Old Hierarchy

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值