命令模式策略课程上课笔记六讲.pdfVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

用面向对象的语言来写面向过程的程序。

语言的本身只会提供面向对象特性的方便性。

写程序是需要用面向对象的指导思想。

面向对象:封装,继承,多态

类:对对象方法和属性的抽象

对象:是世界上存在的真实物体

实例:就是javanew出来那个东西,实例存在计算机里,对象真实存

在。

类,实例和对象是什么关系

类为计算机与人之间的沟通而存在。对象是人类的语言,只有人类能

懂,实例是计算的语言,只有计算机能懂。对象抽象成类,计算机把

类构造成实例。

写代码的时候要不要多写注释

答案是不要!

在重构里面,代码坏味道,注释就是代码坏味道,如果你在开发的过

程中,需要用注释的阐述一段代码,那就说明你这段代码是有问题!

什么时候需要写注释,在敏捷开发里面,代码即文档。

需要描述一些特殊的设计意图

简单工厂,工厂方法,抽象工厂,建造者有什么区别,都属于构造系

列的设计模式

为了单一职责,我们使用了简单工厂,但是增加一个产品的时候,我

们需要在工厂中修改代码,这样又了开闭原则(对扩展开发,对

修改闭合)。为了不这个开闭原则,我们引入工厂方法。但是判

断逻辑又被实现到Client类里了,不同的是,Client所面对的是产品

的工厂,而不需要关心产品的创造过程。设计模式没有最正确的,只

有最适合的。在做软件需要的时候,要懂得假设我们的客户!通

过抽象接口约束系列产品的生产。这个时候,抽象工厂就出来了,它

是用来产生系列产品。有了系列产品以后,客户发现演习顺序错了。

所以我们引入了一个导演,让他来主导演习。那导演是依赖各个不同

的表演建造者来构造演习的。

简单工厂:一个工厂对应多个产品

工厂方法:一个工厂对应一个产品

优点:封装性好,客户不需要关注产品艰辛的创造过程,只需要知道

这么一个工厂就行了

扩展性好,增加产品的时候,不需要修改工厂逻辑

缺点:会导致工厂泛滥

抽象工厂:一个工厂生产一系列的产品

优点:封装性,上层模块,不需要关注这个产品的创造过程。

约束产品族的非公开状态。

缺点:在系列产品中,添加一样产品

构造者和工厂模式有什么区别

意图不一样,工厂所关注的整个产品产生过程,而建造者它更关注的

是产品的组合。Show产品包含两个组件,一个是开车,一个模特摆

pose,而建造者所关注的就是这两个产品的组合。工厂模式对应的是

产品的工厂,而建造者模式对应的是车间,它们所关注的产品的粒度

是不一样的。

1.首先要谈一场恋爱

2.要找准学习的高效率点

3.和同的人比,你比他多什么东西

设计模式的课程会有三个阶段

1.举相应例子给大家讲基础模式,每个模式都是怎么样的

2.设计模式的Pk

3.结合项目来讲设计模式

建造者vs工厂方法

首先我们在组装这个超人的时候,发现少给了一个标志属性。而这种

错误是因为我们没有把组装流程所导致的!利用建造者模式,

封装产品的组装流程,让装配工人能够按照的流程来组装超人。

我们发现要一个超人,居然需要问装配工人要,有点扯!正常来说,

要产品应该是问工厂拿的,所以我们引入工厂方法。工厂管理超人生

产的数量,装配工人(SuperManWork)它只关注超人是怎么按照正常

的流程生产出来的。

明天晚上上完课,唠嗑,话题是本科毕业要不要考研

单例模式

保证整个系统只有一个实例对象。

有什么场景会用到单例:

1.数据缓存对象

2.工具方法

实现方式是通过对构造函数来实现对象单例。

存在问题:

1.多线程问题,会导致实例被创建多次

2.加入了同步关键字后,会效率问题

3.加入双检锁,缩小锁的范围

第一个线程调用获取实例的方法时,执行到newsingleton()这句话,

但是只执行了1,3两个步骤,这个时候,_instance已经不为null了

文档评论(0)

153****2416 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档