Day 30: 关於 Design Pattern,来点心理测验吧

缘由

现在对模式有个初步的了解,想试着写出「设计模式」的心理测验。

测验开始

问题区

问题 1

你这阵子开发遇到问题了吗?

  • YES -> 问题 2
  • NO -> 你需要的是 A

问题 2

感到卡卡是因为对於管理物件的制作、生成感到头疼吗?

  • YES -> 问题 5
  • NO -> 问题 3

问题 3

感到卡卡是因为对於物件的结构,以及如何组合大型物件感到头疼吗?

  • YES -> 问题 11
  • NO -> 问题 4

问题 4

感到卡卡是因为对於物件的演算法、权责分配以及沟通方式感到头疼吗?

  • YES -> 问题 18
  • NO -> 你需要的是 B

问题 5

想要体验看看设计模式如何运用吗?

  • YES -> 你需要的是 C
  • NO -> 问题 6

问题 6

希望直观、不拖泥带水地建立物件?

  • YES -> 你需要的是 D
  • NO -> 问题 7

问题 7

物件的种类繁多,希望能找出规律来建立物件?

  • YES -> 你需要的是 E
  • NO -> 问题 8

问题 8

物件的制作过程很复杂?担心在过程中会忘记一两个步骤?

  • YES -> 你需要的是 F
  • NO -> 问题 9

问题 9

跟物件的建立没关系,而是烦恼如何实作物件的 Deep Copy?

  • YES -> 你需要的是 G
  • NO -> 问题 10

问题 10

烦恼要如何跟特定时间内只允许单一物件进行操作的物件进行沟通?

  • YES -> 你需要的是 H
  • NO -> 问题 11

问题 11

多个物件之间的介面不相容,无法轻易沟通?

  • YES -> 你需要的是 I
  • NO -> 问题 12

问题 12

还没动手开发,而是烦恼往後开发出多个商业逻辑层後,要如何使用?

  • YES -> 你需要的是 J
  • NO -> 问题 13

问题 13

要求多个物件,彼此结构、方法相同,还可以组合成一个大物件,其结构、方法也雷同?

  • YES -> 你需要的是 K
  • NO -> 问题 14

问题 14

不打算使用继承就能帮物件新增功能?

  • YES -> 你需要的是 L
  • NO -> 问题 15

问题 15

希望帮系统建立一个单一对外窗口?

  • YES -> 你需要的是 M
  • NO -> 问题 16

问题 16

使用大量拥有类似结构的物件,导致记忆体使用量增加,想找出降低记忆体使用量的可能?

  • YES -> 你需要的是 N
  • NO -> 问题 17

问题 17

不想要修改物件,却需要增加、限制、改变物件对外的功能?

  • YES -> 你需要的是 O
  • NO -> 问题 18

问题 18

物件的行为需要通过一连串的检查点?或是通过几个就算通过??

  • YES -> 你需要的是 P
  • NO -> 问题 19

问题 19

需要将物件的执行命令加以储存、待命、剔除的功能?

  • YES -> 你需要的是 Q
  • NO -> 问题 20

问题 20

单纯想了解简单版的字串转译机制?

  • YES -> 你需要的是 R
  • NO -> 问题 21

问题 21

面对非阵列的资料结构,需要实作 forEach()

  • YES -> 你需要的是 S
  • NO -> 问题 22

问题 22

系统内物件的沟通关系复杂,想要建立一个中介者辅助物件的沟通?

  • YES -> 你需要的是 T
  • NO -> 问题 23

问题 23

物件的内部状态需要在执行时暂时储存在记忆体内?

  • YES -> 你需要的是 U
  • NO -> 问题 24

问题 24

如果单一物件的状态改变,多个物件需要立即变动、执行相对应的行为?

  • YES -> 你需要的是 V
  • NO -> 问题 25

问题 25

物件的方法深受自身的状态影响?

  • YES -> 你需要的是 W
  • NO -> 问题 26

问题 26

传入的参数会影响物件方法的计算过程?

  • YES -> 你需要的是 W
  • NO -> 问题 27

问题 27

物件大致上完成,剩下几个方法的细部执行内容有差异,需要成立独立的物件?

  • YES -> 你需要的是 Y
  • NO -> 问题 28

问题 28

特定资料结构的物件,往後可能会新增多个方法,根据物件的资料结构而有不同的产出?

  • YES -> 你需要的是 Z
  • NO -> 你需要的是 B

你需要的结果区

需要的是 A

你现在开发没遇到大问题,新增、扩充功能都顺顺利利,那很好,不用特地花时间阅读了,做点享受的事吧!

如果看完上面那段没有被劝退,那就任意在下方挑个模式阅读吧!

需要的是 B

你可能不是遇到物件的问题,而是:

  • 更基础,偏向程序语言的语法使用、相关框架的运用?基础电脑科学知识?
  • 更高层的,偏向系统、架构的问题。

不论是哪一种,Google 相关主题,或是去书店翻翻书吧!

需要的是 C

没错,你可能在找寻「Simple Factory Method」。

可以参考:

需要的是 D

没错,你可能在找寻「Factory Method」。

可以参考:

需要的是 E

没错,你可能在找寻「Abstract Factory」。

可以参考:

需要的是 F

没错,你可能在找寻「Builder」。

可以参考:

需要的是 G

没错,你可能在找寻「Prototype」。

可以参考:

需要的是 H

没错,你可能在找寻「Singleton」。

可以参考:

需要的是 I

没错,你可能在找寻「Adapter」。

可以参考:

需要的是 J

没错,你可能在找寻「Bridge」。

可以参考:

需要的是 K

没错,你可能在找寻「Composite」。

可以参考:

需要的是 L

没错,你可能在找寻「Decorator」。

可以参考:

需要的是 M

没错,你可能在找寻「Facade」。

可以参考:

需要的是 N

没错,你可能在找寻「Flyweight」。

可以参考:

需要的是 O

没错,你可能在找寻「Proxy」。

可以参考:

需要的是 P

没错,你可能在找寻「Chain of Responsibility」。

可以参考:

需要的是 Q

没错,你可能在找寻「Command」。

可以参考:

需要的是 R

没错,你可能在找寻「Interpreter」。

可以参考:

需要的是 S

没错,你可能在找寻「Iterator」。

可以参考:

需要的是 T

没错,你可能在找寻「Mediator」。

可以参考:

需要的是 U

没错,你可能在找寻「Memento」。

可以参考:

需要的是 V

没错,你可能在找寻「Observer」。

可以参考:

需要的是 W

没错,你可能在找寻「State」。

可以参考:

需要的是 X

没错,你可能在找寻「Strategy」。

可以参考:

需要的是 Y

没错,你可能在找寻「Template Method」。

可以参考:

需要的是 Z

没错,你可能在找寻「Visitor」。

可以参考:

写在最後

满意!完成一篇自娱娱人的测验!!同时加深我对各种模式的既有印象!!!


<<:  完赛 != 完结

>>:  Day 30 - 时光飞逝的日子

Day29 语法改革!零基础新手也能读懂的JS - JS30-26 Stripe Follow Along Nav

JS30官网 今天来讲解第二十六天吧! <h2>Cool</h2> <...

Day 28 - Rotate String

大家好,我是毛毛。ヾ(´∀ ˋ)ノ 废话不多说开始今天的解题Day~ 796. Rotate Str...

打造你专属的仓颉输入法

我是仓颉输入法的使用者,在 windows 10 之前,微软仓颉输入法是可以选择只显示 big5 字...

解决AVADA主题网站LOGO忽大忽小闪烁的问题

AVADA是一个非常划算的WordPress主题,因为只要us$60,可以使用+更新一辈子,对於新手...

[28] 30 天从 Swift 学会 Objective-C:Swift friendly 的 API Swift name

在 Objective-C 与 Swift 的命名有明显的区别,虽然 Swift interface...