欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    面向对象与设计模式-教你写出优雅的代码.ppt

    • 资源ID:80437359       资源大小:538.50KB        全文页数:33页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向对象与设计模式-教你写出优雅的代码.ppt

    高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲面向对象与设计模式-教你写出优雅的代码高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲1.学习设计模式的意义2.设计模式概念3.先说多态4.简单工厂模式5.工厂方法模式6.单例模式7.观察者模式8.职责链模式9.策略模式10.装饰模式11.适配器模式12.桥接模式学习目录zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲学习设计模式的意义1:更深入的理解面向对象的思想.2:有利于开发出扩展性强的程序3:面试时的重要考察方面1:学习设计模式的意义zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲在软件开发过程中,经常出现的典型场景的典型解决方案,称为设计模式2:设计模式的概念生活中也有很多设计模式:象棋招法,泡妞思路,电影悬疑等等zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲2.1:动手造几个设计模式典型场景:同学聚会典型问题:问你工资典型解决:?典型场景:QQ,屌丝,女神典型问题:女神,还没睡?典型解决:?如何学习设计模式?典型场景-典型问题-典型解决办法zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲3:先说多态为什么先说多态?答:多态相对封装与继承,理解稍微复杂一些.更重要的是,通过PHP,Java多态的不同体现,体会静态语言与动态语言的巨大差异-而这个差异巨大,影响到设计模式.对于动态语言,不可照搬java,C+中的设计模式zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲3.1:多态多态(Polymorphism)是一个生物学上的概念,指同一特种的多种表现形态.如:西伯利亚虎一般重210-260公斤,而孟加拉虎一般180-230公斤在面向对象中,指某种对象实例的不同表现形态.多态特点,在静态语言中体现的更为明显.zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲3.2:老虎爬树如不明,可看多态详细讲解:西伯利亚虎不能爬树孟加拉虎可以爬树那么老虎,到底能否爬树?请看java与PHP演示体会静态与动态的巨大差异zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲4:简单工厂模式Factoryzixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲4.1:分析问题代码执行没问题,调用没问题!但是:你(客户端,调用者)怎么知道我有个DBmysql类,和DBMysqli类?1:客户端应该只看到接口,不应该知道接口的实现.体现封装隔离原则.2:无论客户端,而是后端,都依赖于抽象接口,而非依赖于具体zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲4.2:解决问题添加一个工厂,由工厂负责创造对象,并返回zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲4.3:用简单工厂后zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲4.4:用简单工厂的真正意义看似仅仅是把创建对象的过程包装了一下,真正的变化在于面向接口,隔离封装,客户端只知接口,不知具体实现.后端的实现,只知接口,不管前端谁调用zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲4.5:简单工厂需改进之处如果新增PDO方式,是否还要改Factory?修改if/else分支?违反开闭原则.另:这个工厂如果分支足够多,能帮你创建所有的类,形成万能工厂,面向对象设计中,不推荐一个类的功能过多.我们可以把有相关关系的产品交由一个工厂生产zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲1988年,勃兰特梅耶(BertrandMeyer)在他的著作面向对象软件构造(ObjectOrientedSoftwareConstruction)中提出了开闭原则,它的原文是这样:“Softwareentitiesshouldbeopenforextension,butclosedformodification”。翻译过来就是:“软件实体应当对扩展开放,对修改关闭”。通俗的说:添加新类/接口等进来行,修改不行.开闭原则zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲5.0:工厂方法FactoryMethod工厂方法中,一个工厂生产多个零件,但零件的共同特点是-属于一个产品.即此工厂可以生产产品,而非单独的对象zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲6:单例模式singleton场景回放zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲6.1:问题-如何确保只制造一个对象?1:对象的产生,需要new或者clone2:防止产生过多的对象,要防止new和clone3:综上,没有对象时,允许new,并把对象缓存.下次直接返回该对象zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲6.2:解决效果zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲6.3:模式解析1:我学java时听说有懒汉式和饿汉式单例模式答:PHP的属性不支持表达式,不支持饿汉式2:php的单例,仅指进程中单例,不似java,在整个内存中单例zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲7:观察者模式Observerzixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲7.1:一般的思路1:判断选中的值2:顺序下来,根据值,修改内容区域3:再修改广告区域.if(v=男)内容区背景变灰广告区内容变成男人话题elseif(v=女)内容区背景变粉广告区内容变成女人话题问题在哪儿?1:让你选择时引起3个区域的变化,是否要修改if/elseif部分2:如果选择女性样式,但不要变粉,现在流行变紫色,是否又要修改ifelseif部分?问题在于:控制逻辑与被操作对象耦合严重.zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲7.2:解决办法我们让div对象观察select的变化,select变化,就会通知道这两个对象.并引起这2个对象的变化,实现观察者模式zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲7.3:解决效果select对象负责attach,detach,notifyObservers,与具体的对象变化解耦zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲8:职责链模式chainofresionbilityzixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲8.1:一般做法POST发送数据,PHP接收到数据,判断举报的级别.if(粗口)启动转发给版主的流程elseif(黄赌毒)启动转发给管理员的流程else启动转发给公安的流程问题在哪儿:1:如果新增了举报级别,要改ifelse代码段.2:如果流程内部有改动,也要到ifelse代码段来操作.总结:逻辑与执行操作的对象耦合严重.zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲8.2:解决办法-职责链模式版主管理员公安每个对象,储存着对自己上级的引用,如果自己处理不了,交给上一级.zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲8.3:解决之后-职责链模式如下,只需要提交给版主即可,版主处理不了,会自动提交给上一级,直到处理完毕.zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲9:策略模式zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲9.1:一般的思路根据传递的参数不同,进行加减乘除运算思考:如果想增加取模运算又如何操作?想一想简单工厂方法,是否有些相似?又有哪些不同?通过接口,隔离封装通过继承,适应变化工厂模式,我们着眼于得到对象,并操作对象,策略模式,我们着重得到对象某方法的运行结果zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲9.1:策略的实现strategycontext对象持有计算对象并计算结果直接返回zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲10:装饰器模式decorator这是一篇帖子帖子的内容我写好了,三个部门的人员想控制他.编辑组要添导读文字审核组要去敏感字市场部想在末尾加点广告我只是一篇帖子,由你们来处置吧分析:三部分都操作该文章,最先是编辑组,继承该文章并添加了导读方法审核组来了,继承了该文章,添加去敏感字方法市场部,继承该文章,添加广告方法.继承的层次越来越深能否不继承,动态的增加对象的功能?zixue.it 燕十八高端高端PHPPHP培训培训 高性能架构班高性能架构班!燕十八 主讲10.1:引入装饰器模式zixue.it 燕十八

    注意事项

    本文(面向对象与设计模式-教你写出优雅的代码.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开