當前位置:編程學習大全網 - 編程語言 - 北京電腦培訓分享如何學習領域開發編程

北京電腦培訓分享如何學習領域開發編程

我們都知道,任何壹個軟件開發工程師都不是天生的,每壹個成功的軟件開發工程師都需要不停的寫代碼和學習開發理論來提高自己的職業技能。今天,北京電腦培訓就壹起來了解壹下領域軟件編程開發有哪些特點。

EricEvans在阿姆斯特丹舉行的DDDEurope2018上做了主題演講,他認為構建軟件時,很重要的壹點就是不斷探索和練習。他非常青睞領域驅動設計(Domain-DrivenDesign,DDD)中策略模式,但是他發現真正有意思的是接受壹個困難的領域,按照不同的方式進行推導分析,打破窠臼,嘗試尋找新的理念,他還以“時間(time)”作為領域舉了壹些實際的例子。

Evans是很早的DDD圖書的作者,經歷過很多的項目,在這個過程中,團隊發現了領域中很多新的理念,並且能夠基於發現的理念構建偉大的軟件。但令人遺憾的是,很多項目他無法公開討論,這些項目相關的業務可能具有保密協議(non-disclosureagreement,NDA),或者它們的領域本身就非常晦澀難懂,需要非常多的時間才能描述清楚。

通用子域(genericsubdomain)指的是在很多的系統中都會看到的領域,Evans發現這些領域很適合作為實踐的起點,有些領域我們已經習慣了它們的運行方式,所以被我們長期忽略,它們尤為適合作為起點。他鼓勵開發人員在這些領域花費時間去發現和探索新的想法,尋找為它們建模的新的可能性和新的方式。他認為,這是壹個戰術層面的練習,我們正在設計非常具體的東西,應該通過編碼來嘗試這些想法。他還指出,有壹些真正的變化是非常重要的。在改善模型時,微小的增強非常重要,但是如果我們想要推倒重來的話,就必須要想好可行方案。

Evans以Joda-Time為例進行了說明,這是壹個用於時間領域的庫,長期以來壹直是Java程序員的標準工具,並且在進行了壹些改善後,納入了Java8。它十年來沒有明顯的變化,其中壹個主要的原因就是對於大多數場景來說,它已經足夠好了。因此,我們停止了尋找替代方案,我們非常習慣於使用它,忘記了可能還有替代的方案,甚至已經無法想到完成該功能的其他方式。這種狀態被Evans稱為“遺留性的盲目(legacyblindness)”。按照他的經驗,幾乎在每個項目中,在以不同的方式進行思考時,很大的壹個障礙就是對當前領域的熟悉程度,如果遺留模型非常好的話,那這壹點就更明顯。打破這種盲目性的壹種方式就是找壹個具體的場景,展現遺留模型壹些不合時宜的地方,並以此作為起點。

  • 上一篇:科技名言
  • 下一篇:如何用動態規劃解決極大值和極小值之間的最大寬度
  • copyright 2024編程學習大全網