"當系統的每一部分都由最優(yōu)解或相對優(yōu)解組成,那么系統最終也將是最完美的。"

   這句話是在參加莫技術分享會上聽到的,這句話吸引我占在人群后面聽完了她的分享,確實受益良多。

   本文也旨在描述自己在項目演變中對一處公共處理邏輯優(yōu)化的過程,周期略長最近有時間整理如下。

 

   業(yè)務系統數據傳遞過程中,會抽取一些公共的屬性和方法封裝為特定基類以便于后續(xù)開發(fā)進行繼承。

   這些被抽象出來的擁有公共屬性的基類,在業(yè)務流轉過程中的賦值也應當進行統一妥善的處理。

   大數據培訓,云培訓,數據挖掘培訓,云計算培訓,高端軟件開發(fā)培訓,項目經理培訓

   看到這里的小伙伴們可能心中有點疑惑,在業(yè)務組織 Class_A/Class_B/...將基類中基本屬性順勢填充不就可以了嗎?

   實際業(yè)務中 BaseClass 中的屬性需要根據各種不同的場景進行演變和推算,你確定將這些公共推算方式放入業(yè)務邏輯中合適嗎??

   隨著系統擴展繼承 BaseClass 的子類會膨脹,所有的子類都需要進行父類基本屬性賦值,代碼看起來是不是有點重復?

   當公共屬性推算方式發(fā)生變化,修改所有子類計算方式和修改公共方法,工作量孰重孰輕?

   抽取成公共方法這點毋庸置疑的,但怎樣高效和優(yōu)雅的書寫代碼呢?

   本文試結合實例,簡述在業(yè)務流轉中對擁有公共屬性基類賦值的方法以及后續(xù)持續(xù)優(yōu)化。

   例子將省略公共屬性的判斷推算過程,實際項目中的公共屬性和業(yè)務對象過于復雜,自己簡單抽象對象如下(關注點為公共屬性的賦值)。

大數據培訓,云培訓,數據挖掘培訓,云計算培訓,高端軟件開發(fā)培訓,項目經理培訓

public class BaseStudentVO {    private String stu_id;    private String stu_name;    private Integer stu_age;    private Date stu_birthday;

    .......getter/setter
}public class PrimaryScholar extends BaseStudentVO {
     .......logicAttribute
}

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網站設計培訓,網站建設培訓學習是年輕人改變自己的最好方式