java-这是什么设计模式?
作者:互联网
我知道我们在编程中所做的一切都可以描述为设计模式(即使抽象方法也具有称为模板方法的设计模式)
public class Guicer extends AbstractModule {
private static Injector injector = Guice.createInjector(new Guicer());
public static void setInjector(Injector injector) {
Guicer.injector = injector;
}
public static <T> T getInstance(Class<T> c) {
return injector.getInstance(c);
}
@Override
protected void configure() {
}
}
此代码中使用了哪些设计模式?我想调用该类GuiceStateHolder,但是我不确定.
解决方法:
好吧,我称之为:
private static Injector injector = Guice.createInjector(new Guicer());
public static void setInjector(Injector injector) {
Guicer.injector = injector;
}
只写全局变量.
和这里:
public static <T> T getInstance(Class<T> c) {
return injector.getInstance(c);
}
您将实例方法替换为全局函数.因此,您基本上有了一个全局变量,任何人都可以写,但是您只能在其上调用一个方法.由于喷油器的界面更多,因此可能是某种受限制的外观.
但是它们比模式更成语-模式还可以根据期望的行为来描述其试图实现的目标,而成语则是您如何在代码中进行某些工作.
除非它是与单个习惯用法有很强联系的模式,否则无法对代码中的模式进行反向工程.
标签:architecture,language-agnostic,java,design-patterns 来源: https://codeday.me/bug/20191106/1999772.html