>  기사  >  백엔드 개발  >  《PHP核心技术与最佳实践》笔记

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

WBOY
WBOY원래의
2016-06-20 12:36:26980검색

  1. 面向对象程序设计

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.