摘要:
软件接口服务的主客双方应遵循的准则
叹号幡然反省:“以前我们做OOP编程时,总是专注于如何利用其他类来解决问题,而较少考虑自己设计的类对其他类的影响。”。。。
作为服务的提供者,最重要的是讲诚信。首先,服务要有可靠性,不能阳奉阴违——即接口必须履行它的承诺;其次,服务要有稳定性,不能朝令夕改——即接口一经公开,不得随意变更。。。
此外,高质量的服务还要有纯粹性和完备性。Unix有一个哲学:‘一个程序只做一件事,但要做好’。用在OOP上,则是:‘一个类只提供一套服务,但要完善’。。。
关键不在于服务数量的多寡,而在于服务的一致性和关联性。。。
作为服务的享受者,最重要的是讲规矩。。。
以违背服务初衷的方式享受的服务,如同盛夏的豆腐——即使没有变质,也是不能持久的。。。
阅读全文
摘要:
OOP中的访问控制
问号提问:“信息隐藏是否专指用private来控制访问?”。。。
初级程序员的理想是为所欲为——能用编程解决一切问题;中级程序员的理想是尽善而为——追求最佳解决方案;高级程序员的理想是有所为有所不为——重在整体设计的选择,能抵制局部技巧的诱惑;最高理想是无为而无不为——无论宏观设计还是微观实现,均非刻意选择,却自然合度。。。
从软件应变的角度来看,访问控制是对修改所带来的副作用的控制。。。
客户意识对一个程序员的重要性,丝毫不亚于对一个企业的重要性。。。
千万不要为追求廉价的重用而轻易扩大接口范围,莫以自身之便而致客户之不便,莫以一时之便而致长期之不便。。。
阅读全文