思考并回答以下问题:
命令模式
思考并回答以下问题:
- 最简单的抽象命令类万年不变是什么意思?
- 命令模式为什么是行为型模式?是如何将请求发送者与请求接收者解耦的?
- 什么是命令对象?为什么实现了间接引用?
- 是怎么做到可以在不修改现有系统源代码的情况下让相同的发送者对应不同的接收者的?
- 命令模式的核心在于引入了抽象命令类和具体命令类。怎么理解?
- 可以在具体命令类里直接new请求接收者,也可以在客户端注入。怎么理解?
- “用不同的请求对客户进行参数化”,客户端只需要将具体命令对象作为参数注入请求发送者。怎么理解?
- 将发送者的请求封装在命令对象中,再通过命令对象来调用接收者的方法。怎么理解?
- 一个调用者并不需要在设计时确定其接收者,因此只与抽象命令类之间存在关联关系。怎么理解?
- 在具体命令类里写代码时直接new Receiver了。怎么理解?
建造者模式
思考并回答以下问题:
- 建造者模式包含4个角色。是哪4个?
- 在建造者模式的定义中提到了复杂对象,那么什么是复杂对象?
- 如果将抽象工厂模式看成一个汽车配件生产厂,生成不同类型的汽车配件,那么建造者模式就是一个汽车组装厂,通过对配件进行组装返回一辆完整的汽车。怎么理解?
- 建造者模式中还引入了一个指挥者类Director,该类主要有两个作用:一方面隔离了客户端与创建过程;另一方面控制产品对象的创建过程。怎么理解?
- 建造者客户端new一个指挥者,new一个具体建造者,然后调用指挥者的无参方法即可创建一个产品对象。怎么理解?
- 抽象建造者是直接new了产品,然后对属性的不同赋值交给子类去完成。怎么理解?
- Director可以省略吗?
UguiEventListener
发表于
|
更新于
本文字数:
2.4k
|
阅读时长 ≈
2 分钟
思考并回答以下问题:
- 这个类干嘛用的?
- 如何监测UI图片Image的单击事件?
- Unity开发有一个重要的原则是不要手动拖代码,一切拖动的都需要优化成自动加载,怎么理解?
- 为什么静态成员只能访问静态成员?
桥接模式
思考并回答以下问题:
- 对象的继承关系是在编译时就定义好了,所以无法在运行时改变从父类继承的实现。怎么理解?
- 聚合表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。怎么理解?
- 子类的实现与它的父类有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化。怎么理解?
- 大雁有两个翅膀,翅膀与大雁是部分和整体的关系,并且它们的生命周期是相同的,于是大雁和翅膀就是合成关系。而大雁是群居动物,所以每只大雁都是属于一个雁群,一个雁群可以有多只大雁,所以大雁和雁群是聚合关系。怎么理解?
- 盲目使用继承当然就会造成麻烦,而其本质原因主要是继承是一种强耦合的结构。父类变,子类就必须要变。怎么理解?
- 所以在用继承时,一定要在是‘is-a’的关系时再考虑使用,而不是任何时候都去使用。怎么理解?