GenericApplicationContext implements BeanFactory{
BeanFactoryImp beanFactoryImp;
@Override
public Object getBean(String name) throws BeansException {
return getBeanFactoryImp().getBean(name);
}
}
我觉得这样写的好处是通过 GenericApplicationContext 来使用 BeanFactory 提供的 getBean()等方法时,不需要写成这样 new GenericApplicationContext().getBeanFactory().getBean(name),而直接是 new GenericApplicationContext().getBean(name)。
我现在也有个场景想要使用这种技巧,但是我不知道接口名字,也就是上面代码的 BeanFactory 该怎么命名,所以这种技巧是一个什么模式吗,我想用这种模式的名字来命名我的接口类,比如 BeanFactoryFacade ?
1
Leviathann 2022-10-17 11:06:48 +08:00
delegate
|
2
kosmosr 2022-10-17 11:08:38 +08:00
就是通过接口吧?
|
3
justplaymore 2022-10-17 11:26:36 +08:00
proxy pattern: https://refactoring.guru/design-patterns/proxy
接口的命名一般是用来描述抽象的能力的,具体看你希望给这个接口赋予什么能力。 |
4
wolfie 2022-10-17 11:45:23 +08:00
这就是普通多态,没用到设计模式。
|
5
fzdwx 2022-10-17 12:18:34 +08:00
包装 代理 组合?
|
6
dumbbell5kg OP @justplaymore 感谢,这正是我想知道的
|