构架设计原则之一
就是要将人控的因素的因素尽量排除。c++中为什么设计智能指针,因为释放内存这样一个操作对人相比于机器来说,更容易出错,所以需要智能指针尽量消除人手动释放内存的操作。
在我们的库设计中,我们要尽量避免用户因为“打开方式”不对,导致错误。因为库的原则是,黑盒原则,用户在不了解库内部实现的情况下也能够实现自己的功能。如果因为”打开方式“导致用户得不到预想的结果,我们就应该考虑为用户避开打开方式的问题。
行为逻辑中,尽量避开人为因素的影响,不要有这样的想法“这个函数这么用,就不会出错~”,事实是,总有人会不是这么用的。
保证软件的灵活与正确,就是设计的灵魂。