首先祝大家节日快乐!!!
额,不知道你们剁手没,小梦是没有!整整已经错过了第九个年头!
小伙伴是不是有一种感觉,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. 面向接口编程,而不是面向实现编程:只需要关心接口,不需要关心实现。所有的代码,它只需要关心某一个类实现了哪些接口,而不需要关心这个类的具体实现。