编码多年,各种代码日夜相伴,如何跟代码友好的相处,不光成为职业生涯的一种回忆,也是编写者功力的直接显露。
如何看待程序和代码呢?那就让我们从程序定义来谈起。如果从业务最终呈现来看,一个程序可以看成是一个真实业务需求的逻辑代码映射。如果从程序逻辑结构看,程序就是数据结构加算法的结合。
这样看,为满足更多的业务需求,更好的满足这些需求,就需要更多的程序代码,当程序代码堆积达到一定数量后,如何管理好,整理好已有的代码将会成为一个只管重要的问题。这个也是一个程序员编程3~5后,从中级向更高级别探索的一个瓶颈。
满足需要可工作的代码是好的,可被多个需求不断复用的代码,就是更好的了。随着软件设计的发展,代码的集合,功能逻辑不断向下沉淀封装的趋势越来越明确。使用好一个工具很快,掌握好一种设计思想就要不断的尝试和改进了。有专门处理数据的代码,有专门处理呈现的代码,如何在业务流程中管理配置他们?这些逻辑如何更好的被封装,被复用。
其实对于PHPer来说,这些思想在处理具体业务来说有些麻烦,这也是PHP的最大优势非常的自由方便,自由简单随意的基本语法,方便的连内存资源都不用考虑,很快就可以hello一个,
但这也正是PHP一个先天的重大劣势,没有一个系统的成脉络的设计体系。PHP出生时就是一个单一的满足业务的语言,并没有像JAVA一样有很系统设计体系和原则。在JAVA有三个最基础的设计原则:1,不支持全局变量。2,不写万能类。3,代码必须是类封装。
JAVA的第一个,第三个原则是在语法上就限制了,第二个原则是评判一个JAVA程序员是否入门的标准。PHP相对来说就没什么这样的语法上的设计原则限制,可接触了一些大公司,真没有体系原则呀,哎。
但在我们设计思想里可不能真的没有原则呀!
PHP程序其实是怎么方便怎么来,解释器很强大,可以屏蔽包容各种思路的程序代码,只要语法OK,不在乎代码设计。正因早期的PHP太随意了,入门很容易,不用很好的对代码进行有效的管理和方便的复用。随着PHP的发展,PHP已经告别在PHP3~PHP4时代动态标记语言,但因为向上兼容原则,PHP还是一个语法宽松的语言,系统化的程序设计原则还没有强制融入到语言核心中来。
这样并不代表我们不需要使用成熟的设计思想来完善和编写我们的程序代码。JAVA的程序设计原理和代码积累,是JAVA的精髓,随着时间的积累越发明显。将JAVA的程序设计思想,引入到PHP的编程过程中来。是一个完善PHP代码的很好的方法。
1.代码分级封装
2.文件灵活调用加载,资源随用随创建
3.平整抗老化的目录结构
解决这些能为程序编写过程,带来非常多的益处。
如何解决呢?
可以通过对于MVC设计思想进行的拆解封装,来实现清晰,有效,一致性的程序设计思想。
一个程序从逻辑结构上可看做是模型(Model),视图(View)和控制Controller)三个逻辑块。
在JAVA中Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。View层用于与用户的交互,通常用JSP来实现。Controller层是Model与View之间沟通的桥梁,通常是routerservlet向应用端的扩展。
可PHP没有这样清晰的划分,所以需要将设计思想揉入到程序代码中去。
1、程序代码类封装
对于一个应用需求(ex:similar相似商品页),将需求先分为3个文件:similar.controller.php;similar.model.php.similar.view.php
通过名字我们也可以看出各文件中的代码用途,剩下就是要给各个文件中的类进行命名。
因为是这对一个应用的不同操作类,所以需要给各个类加不同的类目后缀,
例如similar.controller.php
//controller控制程序类完成此类中的方法是程序各页面流程,每一个方法对应一个同步请求页面(以配合页面的调用规则)
classsimilar{
//相似商品页的展现
functiodo_opensearch($_param){
//请求参数过滤
//请求商品数据
//根据呈现规则处理商品数据
//渲染商品数据获取呈现html
//展示呈现html
}
}
对应的请求就是