Maison >développement back-end >tutoriel php >《PHP核心技术与最佳实践》笔记

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

WBOY
WBOYoriginal
2016-06-20 12:36:261017parcourir

  1. 面向对象程序设计

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn