很多类的命名都会隐喻着某些模式,我把这些命名称为模式词语 。让我们看看有哪些词语经常会作为模式词语吧
和模式同名的词语
- Factory:满大街的Factory,就不说了
- Proxy:偶尔用,比如java.lang.reflect.Proxy
- Builder:常用,但是并不意味着使用Builder模式,所有创建某一类东西的类都可能叫做Builder
- Visitor:经典的同名词语。几乎所有用到Visitor模式的类都以Visitor结尾
- Adapter:偶尔用用,例如eclipse里面的Adaptable
- Decorator:偶尔用用,可能是这个名字太长了,大家不喜欢用
- Command:偶尔用,可能大家都喜欢用Action
和模式不同名的词语
- Action:经典的Command模式,所有叫Action的类几乎都是用Command模式
- Inteceptor:通常和Command模式相关,外面加了一个隔离用来实现拦截器
- Xxxable:通常情况下有两类模式使用able结尾。一类是Command模式,比如Executable,显然会有一个方法叫execute(),典型的Command模式。还有一种通常是Adapter模式,表示此类实现这个接口会有某个特征
- Utils:这些类常常构造函数私有化,所有方法静态化---那显然是Singleton
- Aware:常用于Adapter模式,例如ApplicationContextAware
- Context:这个情况比较复杂,可以认为是某一层次上signleton对象,比如:全局的Context(ApplicationContext),线程级的Context
- Event/listener:标准的Observer模式
- impl:极其简单的Template模式
- Filter:过滤器常常会用到Chain of Responsibility模式
...先想到这么多,还有的以后补充...