虽然现在都是使用面向对象,但你真的使用面向对象了吗?还是你一直在使用过程式编程
区别面向对象和过程式编程的一个核心区别是:如何分配职责。过程式编程表现为一系列的命令和方法的连续调用。控制代码根据不同的条件执行不同的职责。面向对象编程将职责从客户端代码移到专门的对象中,尽量减少相互依赖。我们举个例子说明:
面向过程式的编程:我们先用下面的格式来读写文本,readParam读取文件内容,然后存到关联数组里,最后返回。writeParam 函数会循环遍历关联数组,然后将键值对写入文件。
function readParam($sourceFile){ $param = []; //从$sourceFile读取文件内容 return $param; } function writeParam($param, $sourceFile){ //写到$sourceFile文件里 }
上面这个工具好理解,也易于维护,但现在需求改变,需要支持读写xml和text文件。我们进一步改变代码,如下所示:
class file{ function readParam($source){ $param = []; if (preg_match("/.xml$/i", $source)) { //从xml文件中读; } else { //从text文件中读 } return $param; } function writeParam($param, $source)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)