java库中的以下哪个类没有实现设计模式?

Imr*_*ran -6 java design-patterns

今天,我遇到了这个奇怪的面试问题.java库中的以下哪个类没有实现设计模式?

  1. 独生子
  2. 观察
  3. 迭代器
  4. 代理

有人有线索吗?我怀疑问题的正确性,但想知道社区意见.如果有一些我不知道的事情,因为没有一个选项有意义.

man*_*uti 10

Java标准库的官方来源是标准Java API文档.

设计模式的一个值得注意的来源是" 设计模式:可重用面向对象软件的元素 "一书.

首先,当您查看选项时,问题(在您的帖子中引用)是错误的表达:" Java库中的以下哪个 " ...

只有第四个选项(Proxy)可以引用Java标准库中的类.其他三个不是Java库中的类(它们是接口,或者它们甚至不存在于接口,类或枚举的任何类型).ProxyJava库中还有两个类,这个问题没有指定哪个类.问题是误解(并且错误地改写),或者您可能想要提及组成它的任何人的这种不一致.

所以正确的选项可能是第四个选项,也可能不是它们,这取决于Proxy我们考虑的选项.

那么让我们采取每个选项:

  1. 单例:JDK标准库中没有具有此类名称的类(甚至类型).此外,Singleton是一种设计模式.所以不是这个选择.

  2. 观察者:java.util.ObserverJDK中有一个interface(),而不是一个类.此外,Observer是一种设计模式.所以这个都没有.

  3. 迭代器:与Observer相同.它是一个界面,指的是一种设计模式.

  4. 代理:JDK中有两个类.java.net.Proxy表示网络代理设置,几乎与代理设计模式无关.如果这是所引用的代理,那么该选项可能是正确的.

    另一方面,如果我们考虑java.lang.reflect.Proxy哪个实现了一个动态代理类,它通过调用处理程序将方法调用委托给其他对象,那么这个选项将引用一个设计模式,使其不是一个正确的选项.

  • 我不会说这个问题制定得很糟糕,而是问题/问题被误解,导致OP歪曲它.它可能不仅限于*just*类,我非常怀疑如果他们指的是Java API的命名空间,他们会把Singleton作为一个选项.@Imran你绝对应该接受这个赏金的答案,因为另一个答案肯定不是答案 (3认同)