Imr*_*ran -6 java design-patterns
今天,我遇到了这个奇怪的面试问题.java库中的以下哪个类没有实现设计模式?
有人有线索吗?我怀疑问题的正确性,但想知道社区意见.如果有一些我不知道的事情,因为没有一个选项有意义.
man*_*uti 10
Java标准库的官方来源是标准Java API文档.
设计模式的一个值得注意的来源是" 设计模式:可重用面向对象软件的元素 "一书.
首先,当您查看选项时,问题(在您的帖子中引用)是错误的表达:" Java库中的以下哪个类 " ...
只有第四个选项(Proxy)可以引用Java标准库中的类.其他三个不是Java库中的类(它们是接口,或者它们甚至不存在于接口,类或枚举的任何类型).ProxyJava库中还有两个类,这个问题没有指定哪个类.问题是误解(并且错误地改写),或者您可能想要提及组成它的任何人的这种不一致.
所以正确的选项可能是第四个选项,也可能不是它们,这取决于Proxy我们考虑的选项.
那么让我们采取每个选项:
单例:JDK标准库中没有具有此类名称的类(甚至类型).此外,Singleton是一种设计模式.所以不是这个选择.
观察者:java.util.ObserverJDK中有一个interface(),而不是一个类.此外,Observer是一种设计模式.所以这个都没有.
迭代器:与Observer相同.它是一个界面,指的是一种设计模式.
代理:JDK中有两个类.java.net.Proxy表示网络代理设置,几乎与代理设计模式无关.如果这是所引用的代理,那么该选项可能是正确的.
另一方面,如果我们考虑java.lang.reflect.Proxy哪个实现了一个动态代理类,它通过调用处理程序将方法调用委托给其他对象,那么这个选项将引用一个设计模式,使其不是一个正确的选项.