我在refactoring Jdon框架的Service时,碰到一个模式应用问题,目前我没有想出好的模式,作为一个案例供大家讨论。
我有一个Service模块,试图向客户端提供两种主要方法:getService,获得一个Service实例;还有一个是visistService 是访问Service,Service获得Service的处理结果;
这两种主要方法因为输入参数不同,导致演变出四种方法:
public Object getService(String name, HttpServletRequest request); public Object getService(TargetMetaDef targetMetaDef, HttpServletRequest request);
public Object visitEJBService(String ejbName, MethodMetaArgs methodMetaArgs, HttpServletRequest request)throws Exception
public Object visitEJBService(TargetMetaDef targetMetaDef, MethodMetaArgs methodMetaDef, HttpServletRequest request) throws Exception
|
其中TargetMetaDef又涉及到TargetMetaDefFactory。
现在设计目的:
作为一个框架,应该简单明显地向客户端昭示我提供的主要方法,并且让应用者能够立即明白使用。
涉及的接口和模式如何设计?如果我有结果我会贴出来,有兴趣者一起动动脑筋?