我有两个叫做PowerUserManager
和SimpleUserManager
的服务bean。 @Service
注释类有约有20%的共同代码。在spring服务层中使用继承是否是最佳做法?
我已经构建了一个继承树,它具有共同的摘要类(BaseUserManager
)以减少两个类之间的冗余。
BaseUserManager
|
---------------
| |
PowerUserManager SimpleUserManager
然后在我的@Controller
或任何客户端类,我用的是@Autowired
注释注入两PowerUserManager
和SimpleUserManager
我用其中的一个根据我处理用户的实例。
我不习惯使用继承来分解代码,特别是在服务层。你们春天的朋友们看到了一个更好的方式来做到这一点吗?
公共接口是相同的,有不同的行为,还是他们有不同的方法只适用于每种类型的用户? – Romski 2013-03-01 06:22:13
@Romski PowerUserManager有不同的方法,只适用于PowerUser – webpat 2013-03-05 00:31:38