面向对象与设计模式-教你写出优雅的代码ppt课件.ppt
《面向对象与设计模式-教你写出优雅的代码ppt课件.ppt》由会员分享,可在线阅读,更多相关《面向对象与设计模式-教你写出优雅的代码ppt课件.ppt(33页珍藏版)》请在三一文库上搜索。
1、zixue.it 燕十八 精品PHP教程,面向对象与设计模式 -教你写出优雅的代码,zixue.it 燕十八 精品PHP教程,学习设计模式的意义 设计模式概念 先说多态 简单工厂模式 工厂方法模式 单例模式 观察者模式 职责链模式 策略模式 装饰模式 适配器模式 桥接模式,学习目录,zixue.it 燕十八 精品PHP教程,学习设计模式的意义 1:更深入的理解面向对象的思想. 2:有利于开发出扩展性强的程序 3:面试时的重要考察方面,1:学习设计模式的意义,zixue.it 燕十八 精品PHP教程,在软件开发过程中,经常出现的典型场景的典型解决方案,称为设计模式,2:设计模式的概念,生活中也有
2、很多设计模式: 象棋招法,泡妞思路, 电影悬疑等等,zixue.it 燕十八 精品PHP教程,2.1:动手造几个设计模式,典型场景: 同学聚会 典型问题: 问你工资 典型解决: ?,典型场景: QQ,屌丝,女神 典型问题: 女神,还没睡? 典型解决: ?,如何学习设计模式? 典型场景典型问题典型解决办法,zixue.it 燕十八 精品PHP教程,3:先说多态,为什么先说多态? 答: 多态相对封装与继承,理解稍微复杂一些. 更重要的是, 通过PHP,Java多态的不同体现,体会静态语言与动态语言的巨大差异 -而这个差异巨大,影响到设计模式. 对于动态语言,不可照搬java,C+中的设计模式,zi
3、xue.it 燕十八 精品PHP教程,3.1:多态,多态(Polymorphism) 是一个生物学上的概念, 指同一特种的多种表现形态. 如:西伯利亚虎一般重210-260公斤,而孟加拉虎一般180-230公斤 在面向对象中,指某种对象实例的不同表现形态. 多态特点,在静态语言中体现的更为明显.,zixue.it 燕十八 精品PHP教程,3.2:老虎爬树,如不明,可看多态详细讲解:http:/www.zixue.it/article-122-1.html,西伯利亚虎不能爬树 孟加拉虎可以爬树 那么老虎,到底能否爬树? 请看java与PHP演示 体会静态与动态的巨大差异 ,zixue.it 燕十
4、八 精品PHP教程,4:简单工厂模式 Factory,zixue.it 燕十八 精品PHP教程,4.1:分析问题,代码执行没问题,调用没问题! 但是: 你(客户端,调用者)怎么知道我有个DBmysql类, 和 DBMysqli类?,1:客户端应该只看到接口,不应该知道接口的实现. 体现封装隔离原则. 2:无论客户端,而是后端,都依赖于抽象接口,而非依赖于具体,zixue.it 燕十八 精品PHP教程,4.2:解决问题,添加一个工厂,由工厂负责创造对象,并返回,zixue.it 燕十八 精品PHP教程,4.3:用简单工厂后,zixue.it 燕十八 精品PHP教程,4.4:用简单工厂的真正意义,
5、看似仅仅是把创建对象的过程包装了一下,真正的变化在于“面向接口“,“隔离封装“, 客户端只知接口,不知具体实现. 后端的实现,只知接口,不管前端谁调用,zixue.it 燕十八 精品PHP教程,4.5:简单工厂需改进之处,如果新增PDO方式,是否还要改Factory? 修改if/else分支? 违反开闭原则. 另:这个工厂如果分支足够多,能帮你创建所有的类,形成“万能工厂“,面向对象设计中,不推荐一个类的功能过多. 我们可以把有相关关系的产品交由一个工厂生产,zixue.it 燕十八 精品PHP教程,1988年,勃兰特梅耶(Bertrand Meyer)在他的著作 面向对象软件构造(Objec
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 设计 模式 写出 优雅 代码 ppt 课件
链接地址:https://www.31doc.com/p-2605191.html