您好,登錄后才能下訂單哦!
這篇文章給大家介紹Springboot中怎么實現開閉原則,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
如果一個對象有多種狀態(狀態有可能會增加),每種狀態都對應一種處理方式,如果使用if…else…每次增加一個狀態,都需要改動原來的代碼,動過代碼的業務原則上需要重新測試,這就對開發維護和測試增加了負擔。Springboot有個功能非常好用,可以方便的獲取實現某接口或者繼承某類的類集合。
先定義一個自己的接口或抽象類
public interface MyInterface { String m(); }
定義具體實現接口中方法的類
@Service("防止重復的前綴_狀態碼") public class MyClassA implements MyInterface { @Override public String m() { // A的業務 return "A"; } } @Service("防止重復的前綴_狀態碼") public class MyClassB implements MyInterface { @Override public String m() { // B的業務 return "B"; } }
使用
@RestController public class MyController { @Autowired Map<String, MyInterface> myInterfaceMap; @GetMapping("/api/{status}") public String testStatus(@PathVariable String status) { return myInterfaceMap.get("防止重復的前綴_" + status).m(); } }
關于Springboot中怎么實現開閉原則就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。