Home  >  Article  >  Backend Development  >  《PHP核心技术与最佳实践》笔记

《PHP核心技术与最佳实践》笔记

WBOY
WBOYOriginal
2016-06-20 12:36:26979browse

  1. 面向对象程序设计

对象就是数据,对象本身不包含方法。但是对象有一个“指针”指向一个类,这个类里可以有方法;

面向对象:类的复用,继承+多态;

继承 vs 组合,在二者均可使用的情况下更倾向于使用 组合,因为一般可以降低耦合。继承是紧耦合的,继承扩展复杂,

继承树的抽象层应该比较稳定,一般不要多于三层,子类扩展而不是覆盖或使的父类的功能失效;

多态指同一类对象在运行时的具体化,本质就是if...else,只不过实现的层级不同;

接口是一组规范和契约,语义上应该保持一致,接口不提供实现只提供了一组规范;

PHP中的接口失去了接口应有的语义,使用场景不多,推荐使用抽象类;

foreach 语法会检查这个实例有没有实现Iterator接口,如果实现了则通过内置方法或该类中的方法模拟foreache语句,

所以实现了Iterator接口的类可以用foreach语法,形式上比较统一;

反射:通过类对象获取类信息的功能称为反射,常用于调试和获取类信息;

异常偏重于保护业务数据一致性并且强调对异常业务的处理;

  1. 面向对象设计的五大原则

单一职责原则(Single Responsibility Principle,SRP): 避免相同的职责分散到不同的类中,避免一个类承担太多职责,可达到减少耦合提高复用性的效果;

简单来说就是怎样设计类以及类的方法界定的问题;

工厂模式:负责根据传递的参数不同“生产”对象。 设计模式源于建筑学;

MVC的相互分享其实就是SRP在系统总体设计中的应用,SRP是最简单的原则之一,也是最难做好的原则之一;

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn