java、程序員、後端開發、面試中的程序員
目標
- 學習抽象思想
- 逆向思維
- 提高業務代碼的擴展性
- 學習拆分思想,降低業務代碼複雜度
案例前思考
- 下面具體業務邏輯都省略了
- 參數都是Object類型,實戰項目中都是具體業務pojo類
- 實戰項目裡抽象類還可以實現 通用的接口
- 下面是一個統計業務數據的邏輯代碼,因為業務數據類型比較複雜可能會導致3種以上的業務統計方式,如果都寫在一個類中,維護代碼的人可能會非常痛苦。
- 將來要增加第4種新業務統計方式影響面比較大。
抽象類
- 把模板邏輯都在此類實現
- 把抽象方法定義好,留子類實現的
![java抽象的具體實戰應用案例,20K的能寫出來嗎?](http://p2.ttnews.xyz/loading.gif)
留給子類擴展的
![java抽象的具體實戰應用案例,20K的能寫出來嗎?](http://p2.ttnews.xyz/loading.gif)
合併數據
子類A
子類B
子類C
- 後續要增加第4種業務統計邏輯,只要繼承並實現統計方法即可,擴展性維護性都不錯。
總結
- 把固定模板邏輯和需要子類擴展的邏輯,合理拆分出來
- 複雜類型的參數儘量都用pojo類,不要用String,這樣方便理解維護
我的其他總結文章
閱讀更多 程序汪汪 的文章