欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

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

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

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

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

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

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开