博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《C++面向对象高效编程(第2版)》——2.2 对象接口的重要性
阅读量:6093 次
发布时间:2019-06-20

本文共 514 字,大约阅读时间需要 1 分钟。

本节书摘来自异步社区出版社《C++面向对象高效编程(第2版)》一书中的第章,第2.2节,作者: 【美】Kayshav Dattatri,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.2 对象接口的重要性

C++面向对象高效编程(第2版)

数据抽象的目的是,提供清晰和充足的接口,在方便且受控的模式下允许用户访问底层实现。接口应满足用户使用对象的基本需求。我们的唯一目标是:牢记客户,为让她们的生活更加舒适而不懈努力。因此,抽象的首要目标是,为客户简化操作。

2.2.1 什么是充足的接口

仅为讨论需要,假定我们设计的LD播放机未提供STOP按钮,会怎样?它将永远播放一张碟片!只有切断电源才能让播放机停止播放。可见,没有STOP按钮的接口不足以满足用户的基本要求。大多数情况下,如果现有接口无法满足用户需求,用户都倾向于绕过所有的安全和保护,直接干扰内部运作。设计良好的接口不应该出现这样的问题。当且仅当接口能满足用户需求时,该抽象才是设计良好的抽象。

同理,如果我们的设计未提供SEARCH按钮,这样的接口也不充足。LD播放机的用户,有权播放碟片中任意选定部分的图像。要求用户只能按照从头到尾的顺序观看完全不合理。

转载地址:http://dcqwa.baihongyu.com/

你可能感兴趣的文章
cesium之核心类Viewer简介篇
查看>>
ALSA声卡驱动中的DAPM详解之六:精髓所在,牵一发而动全身
查看>>
libev与libuv的区别
查看>>
iOS 为什么使用xcode8上传app包到appStore无法构建版本
查看>>
Tomcat优化步骤【转】
查看>>
CRC 自动判断大端 小端
查看>>
原来这样可以轻松恢复回收站删除文件
查看>>
DisparityCostVolumeEstimator.cpp
查看>>
(转)git中关于fetch的使用
查看>>
mongo DB for C#
查看>>
caffe整体框架的学习的博客,这个博客山寨了一个caffe框架
查看>>
git只拉取github部分代码的方法
查看>>
[LeetCode] Construct Quad Tree 建立四叉树
查看>>
如何避免SHRINKDATABASE & SHRINKFILE 产生索引碎片(转载)
查看>>
【SSH网上商城项目实战02】基本增删查改、Service和Action的抽取以及使用注解替换xml...
查看>>
高阶函数简述 js
查看>>
Java CompletableFuture:allOf等待所有异步线程任务结束
查看>>
Highmaps网页图表教程之图表配置项结构与商业授权
查看>>
mysql 5.6.33发布
查看>>
java 获取URL链接 内容
查看>>