- 论坛徽章:
- 0
|
OOP的PHP长啥样
哎,呵榀. 深夜逛到这里,看来看去...
力推OOP的都是觉得面向过程的编程方式主要缺陷在于:代码很难重用\可维护性差! 让他维护面向过程的程序代码他就喊着不如重写(试试看好了!)
以下说法均指在PHP中...:p
我觉得通过 include 或 require 来调用所需要的代码段,代码按功能命名,分放到各目录中去....维护非常方便,既然可以抽像成函数(我觉得函数本身就是一个抽像),就不存在很难维护的问题了; 而OOP强调的封装, 通常来说,PHP的程序不像C一样只有一个入口,而是分段成数个PHP程序(相当于C中有数个main(),编译成好多支可执行程序), 完成某一个过程只需要少许函数就能完成了,OOP的形式却无故要装入很多无关的函数, 这一点让我觉得很不舒服. 代码的重用基本上都是函数的重用, 所以这点上非OOP并无任何劣势.
程序好不好维护主要和编程者的写法(甚至代码的排版)才有很大关系.
不管什么编程思想,在我看来(我也是旁学的,非科班,不懂也不需要懂什么太高深的思想)任何语言的程序除了加法运算,就是if 和 goto; 面向过程显得比较自然,符合常规的逻辑思维; 就是一个人爬树摘果子一样, 从下往上, 顺着果子找路子.
我自己PHP的学习使用过程中,也经常用到一些类啊什么的,都是一些相对很抽象的过程(比如MYSQL操作, SMTP对话等);非硬要把一些其它的东西封装,我感觉很别扭。
另一点,读别人的程序本来就累,需要较强的功力和很强的耐力才行。
就像楼主的例子,一个程序的主页面就四行程序(多数功能都只需这四行吧),看起来固然很养眼,但真要查错,修改维护时,还是一样要用人脑模拟电脑去运行程序,分析错误。。。。(小错误的话grep一下就行了)
上次特意去看C++的书,对于我来说让我看C++的程序生不如死。。。要改个程序又是重载+多态,又是封装。。。同样的函数名称,参数个数不一样函数的定义也不一样,结果也却完全不一样,搞不清楚改哪个地方,想模拟电脑走程序都不行哎。 |
|