没有合适的资源?快使用搜索试试~ 我知道了~
首页PHP面向对象编程:7个关键习惯提升代码维护性
PHP面向对象编程:7个关键习惯提升代码维护性
0 下载量 37 浏览量
更新于2024-08-31
收藏 148KB PDF 举报
在PHP编程中,尽管早期语言特性倾向于面向过程,但采用面向对象(OO)编程风格对于编写更易于维护和扩展的代码至关重要。以下是在PHP中养成的七个面向对象良好习惯: 1. 保持谦虚(信息隐藏或封装):避免在类和函数中过度暴露内部细节,通过私有属性和公共方法来控制数据访问。这有助于减少代码间的依赖性,防止微小改动导致全局影响,也就是所谓的"病毒性更改"。 2. 做个好邻居(模块化):遵循单一职责原则,每个类或函数只负责一项特定任务。这样可以提高代码的复用性和独立性,便于后期维护和扩展。 3. 避免看到美杜莎(有限的接口暴露):仅暴露必要的接口,而不是内部实现细节。这样可以保护类的内部结构不受外界干扰,保持接口稳定。 4. 利用最弱的链接:在继承关系中,尽可能使用抽象类或接口,而不是直接继承,这样可以降低耦合度,使代码更具灵活性。 5. 您是橡皮,我是胶水(松耦合):保持类之间的低耦合度,使每个组件可以独立工作,降低相互依赖的风险,使得维护和替换变得更加容易。 6. 限制传播:谨慎处理类间的依赖,避免滥用全局变量和静态成员,这有助于减少潜在的问题和混乱。 7. 考虑使用模式:了解和应用设计模式,如工厂模式、策略模式等,能帮助解决常见的问题,并提供可复用的最佳解决方案。 遵循这些习惯,可以帮助开发者创建出符合优秀OO实践的代码,增强代码的可读性和可维护性。即使在PHP中没有纯面向对象的限制,通过合理使用这些原则,也能显著提升项目的整体质量。在PHP中实践面向对象编程,不仅能提升开发效率,还能为未来可能的扩展和维护打下坚实基础。
资源详情
资源推荐
在在PHP中养成中养成7个面向对象的好习惯个面向对象的好习惯
在 PHP 编程早期,PHP 代码在本质上是限于面向过程的。过程代码 的特征在于使用过程构建应用程序块。过程通过允许过
程之间的调用提供某种程度的重用。
但是,没有面向对象的语言构造,程序员仍然可以把 OO 特性引入到 PHP 代码中。这样做有点困难并且会使代码难于阅读,
因为它是混合范例(含有伪 OO 设计的过程语言)。使用 PHP 代码中的 OO 构造 — 例如能够定义和使用类、能够构建使用
继承的类之间的关系以及能够定义接口 — 可以更轻松地构建符合优秀 OO 实践的代码。
虽然没有过多模块化的纯过程设计运行得很好,但是 OO 设计的优点表现在维护上。由于典型应用程序的大部分生命周期都
花费在维护上,因此代码维护是应用程序生命周期的重要部分。并且在开发过程中代码维护很容易被遗忘。如果在应用程序开
发和部署方面存在竞争,那么长期可维护性可能被放在比较次要的地位。
模块化 — 优秀 OO 设计的主要特性之一 — 可以帮助完成这样的维护。模块化将帮助封装更改,这样可以随着时间的推移更
轻松地扩展和修改应用程序。
总的来说,虽然构建 OO 软件的习惯不止 7 个,但是遵循这里的 7 个习惯可以使代码符合基本 OO 设计标准。它们将为您提
供更牢固的基础,在此基础之上建立更多 OO 习惯并构建可轻松维护与扩展的软件。这些习惯针对模块化的几个主要特性。
有关独立于语言的 OO 设计优点的更多信息,请参阅 参考资料。
7个优秀个优秀 PHP OO 习惯包括:习惯包括:
保持谦虚。
做个好邻居。
避免看到美杜莎。
利用最弱的链接。
您是橡皮;我是胶水。
限制传播。
考虑使用模式。
保持谦虚保持谦虚
保持谦虚指避免在类实现和函数实现中暴露自己。隐藏您的信息是一项基本习惯。如果不能养成隐藏实现细节的习惯,那么将
很难养成任何其他习惯。信息隐藏也称为封装。
直接公开公共字段是一个坏习惯的原因有很多,最重要的原因是让您在实现更改中没有应有的选择。使用 OO 概念隔离更
改,而封装在确保所作更改在本质上不是病毒性(viral)更改方面扮演不可或缺的角色。病毒性 更改是开始时很小的更改 —
如将保存三个元素的数组更改为一个只包含两个元素的数组。突然,您发现需要更改越来越多的代码以适应本应十分微不足道
的更改。
开始隐藏信息的一种简单方法是保持字段私有并且用公共访问方法公开这些字段,就像家中的窗户一样。并没有让整面墙都朝
外部开放,而只打开一两扇窗户(我将在 “好习惯:使用公共访问方法” 中介绍访问方法的更多信息)。
除了允许您的实现隐藏在更改之后外,使用公共访问方法而非直接公开字段将允许您在基本实现的基础上进行构建,方法为覆
盖访问方法的实现以执行略微不同于父方法的行为。它还允许您构建一个抽象实现,从而使实际实现委托给覆盖基本实现的
类。
坏习惯:公开公共字段坏习惯:公开公共字段
在清单 1 的坏代码示例中,Person 对象的字段被直接公开为公共字段而非使用访问方法。虽然此行为十分诱人,尤其对于轻
量级数据对象来说更是如此,但是它将对您提出限制。
清单清单 1. 公开公共字段的坏习惯公开公共字段的坏习惯
复制代码 代码如下:
<?php
class Person
{
public $prefix;
public $givenName;
public $familyName;
public $suffix;
}
$person = new Person();
$person->prefix = “Mr.”;
$person->givenName = “John”;
echo($person->prefix);
echo($person->givenName);
?>
如果对象有任何更改,则使用该对象的所有代码也都需要更改。例如,如果某人的教名、姓氏和其他名字被封装到
PersonName 对象中,则需要修改所有代码以适应更改。
好习惯:使用公共访问方法好习惯:使用公共访问方法
通过使用优秀的 OO 习惯(参见清单 2),同一个对象现在拥有私有字段而非公共字段,并且通过称为访问方法 的 get 和 set
公共方法谨慎地向外界公开私有字段。这些访问方法现在提供了一种从 PHP 类中获取信息的公共方法,这样在实现发生更改
时,更改使用类的所有代码的需求很可能变小。
清单 2. 使用公共访问方法的好习惯
复制代码 代码如下:
<?php
class Person
{
private $prefix;
下载后可阅读完整内容,剩余8页未读,立即下载
weixin_38700320
- 粉丝: 4
- 资源: 931
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功