傻大方


首页 > 知识库 > >

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


按关键词阅读: 对象 面向 代码 写出 优雅 模式 设计

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)在他的著作 面向对象软件构造(Object Oriente 。

6、d Software Construction)中提出了开闭原则 ,它的原文是这样:“Software entities should be open for extension, but closed for modification” 。
翻译过来就是:“软件实体应当对扩展开放 , 对修改关闭” 。
通俗的说: 添加新类/接口等进来行,修改不行,开闭原则,zixue.it 燕十八 精品PHP教程,5.0:工厂方法 Factory Method,工厂方法中,一个工厂生产多个零件,但零件的共同特点是-属于一个产品. 即 此工厂可以生产产品,而非单独的对象,zixue.it 燕十八 精品PHP教程,6: 。

7、单例模式 singleton 场景回放,zixue.it 燕十八 精品PHP教程,6.1:问题-如何确保只制造一个对象,1:对象的产生,需要new或者clone 2:防止产生过多的对象,要防止new和clone 3:综上,没有对象时,允许new,并把对象缓存. 下次直接返回该对象,zixue.it 燕十八 精品PHP教程,6.2:解决效果,zixue.it 燕十八 精品PHP教程,6.3:模式解析,1:我学java时听说有懒汉式和饿汉式单例模式 答:PHP的属性不支持表达式,不支持饿汉式 2:php的单例,仅指进程中单例,不似java,在整个内存中单例,zixue.it 燕十八 精品PHP教程 。

8、,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对象观察s 。


来源:(未知)

【学习资料】网址:/a/2021/0306/0021593391.html

标题:面向|面向对象与设计模式-教你写出优雅的代码


上一篇:掌柜|掌柜微软制作模板

下一篇:手机|手机电路方框图识图