28、C++设计模式与惯用法详解

C++设计模式与惯用法详解

1. 货币类设计考量

在设计货币类时,有几个关键因素需要考虑:
- 标准考量 :例如,必须考虑ISO 4217国际货币代码标准。
- 用户显示 :思考如何将货币值展示给用户。
- 转换频率 :明确货币转换的发生频率。

从测试角度来看,为货币类实现100%的单元测试覆盖至关重要,以此确保该类在所有情况下都能按预期工作。不过,货币类相较于纯整数表示存在一个小缺点,即会损失一点性能。在某些系统中,这可能会成为问题,但在大多数情况下,其优势会更为显著,要牢记过早优化是不可取的。

2. 特殊情况对象(空对象)

在函数或方法中返回 nullptr 是不可取的,应尽量避免。同时,异常仅应在真正的异常情况下使用,而非用于控制正常的程序流程。那么,对于那些并非真正异常的特殊情况,如内存分配失败,该如何处理,而不使用无语义的 nullptr 或其他奇怪的值呢?

以按名称查询客户为例,最初的查找方法如下:

Customer CustomerService::findCustomerByName(const std::string& name) {
    // Code that searches the customer by name...
    // ...but what shall we do, if a customer with t
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值