PHP面向对象笔记05

【面向对象的设计原则】

 

2.1-面向对象设计的五大原则

 

2.1.1-单一职责原则  SRP

1. 单一职责有两个含义:① 避免相同的职责分散到不同的类中 ② 避免一个类承担太多职责

2. 为什么要遵守SRP: ① 减少类之间的耦合 ② 提高类的复用性

3. SRP在实际代码开发中的应用:

    (1)工厂模式(Factory):允许在代码执行时实例化对象。

            →(案例-用工厂模式解决连接多个数据库)----详见PDF

            →(案例-用工厂模式解决SNS动态实现)----详见PDF

    (2)命令模式:分离“命令的请求者”和“命令的实现者”方面的职责。

            →(案例-用命令模式解决餐馆吃饭的问题)

 

2.1.2-接口隔离原则  ISP

1.IPS的主要观点:

    ① 一个类对另外一个类的依赖性应当是建立在最小的接口上的。

    ② 客户端程序不应该依赖它不需要的接口方法(功能),而是依赖它所需要的接口。

2.对接口的污染:

PHP面向对象笔记05_第1张图片

3.对于接口的污染,考虑两条处理方式:① 利用委托分离接口;② 利用多继承分离接口。

 

2.1.3-开放-封闭原则  OCP

PHP面向对象笔记05_第2张图片

1. 此原则能够提高系统的可扩展性和可维护性。

    →(案例-播放器)

2. 此原则的核心思想是 对抽象编程,而不对具体编程,因为抽象相对稳定。

3. 如何遵守开放-封闭原则

    ① 在设计方面充分应用“抽象”和“封装”的思想

    ② 在系统功能编程实现方面应用接口interface的编程

 

2.1.4-(里氏)替换原则  LSP

PHP面向对象笔记05_第3张图片

 

2.1.5-依赖倒置原则  DIP

1. 将依赖关系倒置为依赖接口,抽象不能依赖于具体,具体应该要依赖于抽象。

2. 如何满足DIP:

    每个较高层次类都为它所需要的服务提出一个接口声明,较低层次类实现这个接口。

    每个高层类都通过该抽象接口使用服务。

 

 

1.抛出和捕获异常:

PHP面向对象笔记05_第4张图片

2.PHP基本异常类:

PHP面向对象笔记05_第5张图片

(代码10.1-exception.php)

PHP面向对象笔记05_第6张图片

10.2.简单工厂模式:(代码10.2-FactorPattern.php)

PHP面向对象笔记05_第7张图片

10.3.单例模式:(代码10.3-SingletonPattern.php)

PHP面向对象笔记05_第8张图片

10.4.观察者模式:(10.4-ObserverPattern.php)

PHP面向对象笔记05_第9张图片

10.5 命令模式:(10.5-CommandPattern.php)

PHP面向对象笔记05_第10张图片

10.6 策略模式 (10.6-StrategyPattern.php)

PHP面向对象笔记05_第11张图片

10.7 MVC模式

PHP面向对象笔记05_第12张图片

【代码】【代码】https://github.com/rxbook/study-php-object/tree/master/code05  

你可能感兴趣的:(PHP面向对象笔记)