作为一本关于编程风格的书,作者总结了一系列有助于编写优雅代码的小技巧。其中,空引用问题用空对象解决,与Maybe函子中的Nothing有异曲同工之妙。
文摘
方法中的大多数代码都可以归为:
输入处理(collecting input);
功能实现(performing work);
输出处理(delivering output);
失败处理(handling failures);
空对象(Null Object)实现了原型对象相关接口,只是这些方法的实现是不做任何事或返回恰当的默认值而已。
“命令-查询分离”(command-query separation, CQS)原则:方法要么是改变对象状态的命令(command)模式,要么是带返回值的查询(query)模式,但却不应该同时兼具二者。