在PHP中养成7个面向对象的好习惯
证提供的 $val 变量是否为空、是否是零长度字符串或者字符串是否使用无法解 析的格式。parsePersonName() 方法不返回 Person 对象,但是返回 null。使 用这种方法的管理员或程序员可能会觉得很麻烦 — 至少他们现在需要开 始设置断点并调试 PHP 脚本。
清单 4. 不抛出或处理错误的坏习惯
清单 4 中的 parsePersonName() 方法可以修改为在 if 条件外 部初始化 Person 对象,确保总是获得有效的 Person 对象。但是,您得到的是 没有 set 属性的 Person,这仍然没有很好地改善您的困境。 好习惯: 每个模块都处理自己的错误 不要让调用方凭空猜测,而是对参数进行预 先验证。如果未设置的变量无法生成有效的结果,请检查变量并抛出 InvalidArgumentException。如果字符串不能为空或者必须为特定格式,请检查 格式并抛出异常。清单 5 解释了如何在演示一些基本验证的 parsePerson() 方 法中创建异常以及一些新条件。 清单 5. 抛出错误的好习惯
最终目的是希望人们能够使用您的类,而不必了解其中的工 作原理。如果他们使用的方法不正确或者不是按照期望的方法使用,也不需要猜 测不能工作的原因。作为一个好邻居,您需要知道对您的类进行重用的人并没有 特异功能,因此您需要解决猜测的问题。 避免看到美杜莎 在我最 初了解 OO 概念时,我十分怀疑接口是否真正有帮助。我的同事给我打了个比方 ,说不使用接口就好像看到美杜莎的头。在希腊神话中,美杜莎是长着蛇发的女 怪。凡是看了她一眼的人都会变成石头。杀死美杜莎的珀尔休斯通过在盾上观察 她的影子,避免了变成石头而得以与她对抗。 接口就是对付美杜莎的镜 子。当您使用一个特定的具体实现时,代码也必须随着实现代码的更改而更改。 直接使用实现将限制您的选择,因为您已经在本质上把类变成了 “石头 ”。 坏习惯:不使用接口 清单 6 显示了从数据库中装入 Person 对象的示例。它将获取人员的姓名并返回数据库中匹配的 Person 对象 。 清单 6. 不使用接口的坏习惯
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |