- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
php和js的代码组织
模板来自于 * 模板来自于 * 模板来自于 * 模板来自于 * 模板来自于 * 模板来自于 * 模板来自于 * 模板来自于 * 模板来自于 * 模板来自于 * PHP和JS的代码组织 2015-11-06 目 录 1 2 3 4 5 6 PHP和JS在公司已有项目中的作用 面向过程和面向对象 PHP面向对象 PHP良好的代码组织实践 JS函数式编程,闭包和面向对象 总结 PHP和JS在公司已有项目中的作用 官网 A OA B 易宝 C 易火 D ? 对象狂热 过程狂热 面向过程和面向对象 面向对象与面向过程在许多编程语言中只能使用二者之一来进行编程,但是PHP语言与其他编程语言有不同之处,那就是我们可以自由的选择或者将PHP面向对象和PHP面向过程二者混用。 PHP的一些基础开发,PECL和PEAR都收到了很多赞扬和批评。这两个项目为阐明PHP面向过程和面向对象编程的区别提供了很好的例子。 The PHP Extension Community Library PHP 扩展模块 过程狂热,最喜爱的编程语言是C和汇编,写驱动程序,文件系统或其它的偏向底层的编程,他们的注意力集中于速度和代码的精炼。 PECl提供了PHP的扩展库,用C和面向过程的方式开发,注重速度和简洁精炼。通常,这些都是从已经存在的LGPL软件中移植而来,其中许多有趣的特性已经加入PHP。毕竟,PHP是用C写的。(PhpMyAdmin) PECL 面向过程 The PHP Extension and Application Repository PHP扩展与应用库 对象狂热,在任何时候使用PHP面向对象的风格来书写代码。他们没有真正考虑过用这种方式是否会影响程序的执行效率。 PEAR则贡献了很多有趣的类如建立Excel表或改变DNS记录等。使用PEAR类库可以为你节约大量时间。 (Smarty,ThinkPHP) PEAR 面向对象 PHP面向对象三大特征 1、封装 1 2、继承 2 3、多态 3 1.封装就是把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部 分只有通过被授权的操作(成员方法),才能对数据进行操作. 2.继承可以解决代码复用,让我们的编程更加靠近人类思维. 3.重载”是类的多态的一种实现。覆写,子类可以把父类中继承过来的方法进行重写,便于扩展。 , , , , 当系统各部分代码紧密绑在一起时,就会产生密耦合,这时在一个组件中的变化会迫使其他部分随之改变。 低耦合 03 内聚是一个模块内部各成分之间相关联程度的度量。低内聚的代码间关联范围广,维护很困难。 高内聚 02 过程式代码忙于处理细节,而面向对象代码只需一个接口即可工作,并且不用考虑实现的细节。 职责分明 01 正交指将职责相关的组件紧紧组合在一起,而与外部系统环境隔开保持独立。 正交 04 面向对象设计 MVC 企业模式 数据映射 ...... 数据库模式 单例模式 工厂方法模式 抽象工厂模式 生成对象的模式 组合模式 装饰模式 外观模式 组织对象和类的模式 解释器模式 策略模式 观察者模式 访问者模式 命令模式 面向任务的模式 设计模式 一、Duplicate Code(重复代码) 1、同一个类,两个方法含有相同表达式。 解决方法:你可以Extract Method提炼重复代码,然后让这两个方法都调用这个Extract Method。 2、两个类,有相似的方法。 解决方法:(1)把两个类的方法提出来,共同构造一个父类。 (2)把其中一个类的方法删除,调用另一个类的方法。 ” “ PHP良好的代码组织实践 二、Long Method(过长的函数方法) 1、短函数:代码阅读费点力气,因为我们必须经常转换上下文去看看子程序做了什么。但是让small method容易理解的真正关键在于一个好的名字。读者可以通过名字了解函数的作用,根本不必去看其中写了些什么。——早期的编程语言中,调用方法需要额外开销,这使得coder不愿意使用small method。但是现代的OO语言几乎已经完全免除了process内的额外开销(函数调用)。 2、注释地方提炼信号:每当感觉需要以注释来说明点什么的时候,我们就把需要说明的东西写进一个独立函数中,并以其用途命名。可以对一组或甚至短短一行代码做这件事。——只要函数名称能够解释其用户,我们也该毫不犹豫地那么做。 ” “ PHP良好的代码组织实践 动机 简短而有良好命名的函数:——finely grained(细粒度) 1、复用机会大。 2、函数读起来像读一系列comments
文档评论(0)