面向对象与设计模式
-教你写出优雅的代码
学习设计模式的意义
设计模式概念
先说多态
简单工厂模式
工厂方法模式
单例模式
观察者模式
职责链模式
策略模式
装饰模式
适配器模式
桥接模式
学习目录
燕十八
学习设计模式的意义
1:更深入的理解面向对象的思想.
2:有利于开发出扩展性强的程序
3:面试时的重要考察方面
1:学习设计模式的意义
燕十八
在软件开发过程中,经常出现的典型场景的典型解决方案,称为设计模式
2:设计模式的概念
生活中也有很多设计模式:
象棋招法,泡妞思路,
电影悬疑等等
燕十八
:动手造几个设计模式
典型场景: 同学聚会
典型问题: 问你工资
典型解决: ??
典型场景: QQ,屌丝,女神
典型问题: 女神,还没睡?
典型解决: ??
如何学习设计模式?
典型场景-->典型问题-->典型解决办法
燕十八
3:先说多态
为什么先说多态?
答: 多态相对封装与继承,理解稍微复杂一些.
更重要的是,
通过PHP,Java多态的不同体现,体会静态语言与动态语言的巨大差异
--而这个差异巨大,影响到设计模式.
对于动态语言,不可照搬java,C++中的设计模式
燕十八
:多态
多态(Polymorphism) 是一个生物学上的概念,
指同一特种的多种表现形态.
如:西伯利亚虎一般重210-260公斤,而孟加拉虎一般180-230公斤
在面向对象中,指某种对象实例的不同表现形态.
多态特点,在静态语言中体现的更为明显.
燕十八
:老虎爬树
如不明,可看多态详细讲解:icle-122-
西伯利亚虎不能爬树
孟加拉虎可以爬树
那么老虎,到底能否爬树?
[
请看java与PHP演示
体会静态与动态的巨大差异
]
燕十八
4:简单工厂模式 Factory
燕十八
:分析问题
代码执行没问题,调用没问题!
但是:
你(客户端,调用者)怎么知道我有个DBmysql类, 和 DBMysqli类?
1:客户端应该只看到接口,不应该知道接口的实现.
体现封装隔离原则.
2:无论客户端,而是后端,都依赖于抽象接口,而非依赖于具体
燕十八
高端php培训高性能架构班! 来自淘豆网m.daumloan.com转载请标明出处.