开发者社区> 思梦php> 正文

PHP面向对象编程基本原则

简介: 首先祝大家节日快乐!!! 额,不知道你们剁手没,小梦是没有!整整已经错过了第九个年头! 小伙伴是不是有一种感觉,PHP入门的时候简直爱不释手,总是把 ”PHP是世界上最好的语言“ 挂在嘴边上,觉得他简单,快速完成项目! 然儿,终于有一天,你开发的项目过于庞大的时候,突然发现:我写的代码好乱,扩展性好低,可维护性好差。
+关注继续查看

首先祝大家节日快乐!!!

额,不知道你们剁手没,小梦是没有!整整已经错过了第九个年头!

小伙伴是不是有一种感觉,PHP入门的时候简直爱不释手,总是把 ”PHP是世界上最好的语言“ 挂在嘴边上,觉得他简单,快速完成项目!

然儿,终于有一天,你开发的项目过于庞大的时候,突然发现:我写的代码好乱,扩展性好低,可维护性好差。。。。。。。

然后你就下定决心要重构你的项目?想来想去,当然是面向对象编程了,然后加上各种设计模式!你就开始干了!!!

下面就给大家讲一下面向对象的设计原则,当然面向对象的好处以及如何分析设计我就不告诉你们了,如果想知道的可以连续我哦!本人QQ:476319748 (备注面向对象设计)

面向对象编程主要有一下几种基本原则

1. 单一职责:一个类,只需做好一件事情。不要使用一个类来完成很复杂的功能,而是拆分设计成更小更具体的类。

那有的小伙伴又要问了,为什么这样做?对对,倒数第二个同学问的好,下面我就给大家说一下为什么:首先呢,就比如前后端分离,为什么前端主做页面展示,渲染效果,后端做业务逻辑,道理是一样的,专精一样,类也是一样,专职一件事,高效,而且呢维护性已经扩展性很高,耦合度很低,修改一个不会影响其他人

2. 开放封闭原则:一个类,应该可以扩展,而不可修改的。一个类在实现之后,应该是对扩展开放,对修是改封闭的,不应该使用修改来增加功能,而是通过扩展来增加功能。

这个你还要问为什么?那我就不告诉你了!!!

3. 依赖倒置:一个类,不应该强制依赖另一个类。每个类对另外一个类都是可以替换的。如:有A、B两个类,A需要依赖B类,不应该在A类中直接调用B类,而是要使用依赖注入的方式,通过使用诸如,将A类依赖的B类的对象注入给A类,B类对于A类来说就是可以替换的。如果C类实现了和B类一样的接口,那对于A类,B和C也是可以随意替换的。

这个那个同学不用蠢蠢欲动想知道为什么了,我来告诉你吧:这个是降低耦合度!什么?你不知道耦合度是什么了,那么请你出去,这里不适合你!

4. 配置化: 尽可能的使用配置,而不是使用硬编码。像类的关系的定义,也应该是可以配置的。

这点呢和你为什么想做面向对象编程是一个道理!

5. 面向接口编程,而不是面向实现编程:只需要关心接口,不需要关心实现。所有的代码,它只需要关心某一个类实现了哪些接口,而不需要关心这个类的具体实现。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
PHP 简单 对象 (object) 与 数组 (array) 的转换
PHP 简单 对象 (object) 与 数组 (array) 的转换
62 0
php对象字段声明,easyswoole ORM 快速生成注释
在PHPSTORM IDE中,我们可以通过注释给类写明可调用字段名,这样子才有语法提示。 比如在Thinkphp中,虽然允许我们可以通过对象属性方式去调用,但是并没有语法提示。 添加注释后 就舒服很多了。
11 0
PHP中对象的序列化和反序列化
serialize() 返回字符串,可以存储于任何地方。 serialize() 可处理除了 resource 之外的任何类型。甚至可以 serialize() 那些包含了指向其自身引用的数组。 这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。 在需要恢复的地方使用unserialize()函数即可
14 0
php面对对象之后期绑定
php面对对象之后期绑定
10 0
php echo对象,php __toString
php echo对象,php __toString
22 0
PHP:empty判断对象为空
PHP:empty判断对象为空
24 0
PHP:json_encode转换成json空列表和空对象
PHP:json_encode转换成json空列表和空对象
49 0
Python/PHP/JS对象与json数据的转换key顺序问题
Python/PHP/JS对象与json数据的转换key顺序问题
86 0
PHP:ThinkPHP5.0请求对象和响应对象
PHP:ThinkPHP5.0请求对象和响应对象
36 0
PHP方法类与对象的区别
PHP方法类与对象的区别
28 0
+关注
思梦php
思梦PHP公益讲师!热衷PHP技术,热爱技术分享!
文章
问答
文章排行榜
最热
最新
相关电子书
更多
PHP安全开发_从白帽角度做安全
立即下载
PHP在机器学习上的应用及云深度学习平台的架构设计与实现
立即下载
复杂PHP系统性能瓶颈排查及优化
立即下载