我有兩個叫做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