現(xiàn)在的開發(fā)技術(shù)的發(fā)展的速度比起開發(fā)者的學(xué)習(xí)速度不知道要快多少,每隔一兩天就會(huì)有一個(gè)開源的工程誕生,學(xué)習(xí)如何去使用這些開源的工程不如學(xué)習(xí)一下其中的思想。比如Hibernate,ibatis等ORM等f(wàn)ramework它只不過(guò)是幫你擺脫那些DAO模式為每個(gè)數(shù)據(jù)對(duì)象作一個(gè)DAO對(duì)象專門來(lái)負(fù)責(zé)數(shù)據(jù)庫(kù)操作,你可以用一個(gè)統(tǒng)一的接口來(lái)進(jìn)行數(shù)據(jù)庫(kù)的操作。與其去專研如何去配置,如何去使用還不如去好好的研究一些他所體現(xiàn)的一些思想,比如數(shù)據(jù)庫(kù)查詢的優(yōu)化,利用緩存機(jī)制,數(shù)據(jù)庫(kù)連接池等等。
還有就是spring,它到底體現(xiàn)了什么是用來(lái)替換現(xiàn)在的J2EE的技術(shù),不,就連spring的作者都說(shuō)是在合時(shí)的情況下使用合適的技術(shù),一句看似空洞的話卻包含了深意。spring的核心思想在我看來(lái)就是DI,他在其他的open source的項(xiàng)目的基礎(chǔ)上加以抽象,比如他提供了spring mvc--可以去使用底層的web mvc可以有很多,但是現(xiàn)在可以用一個(gè)統(tǒng)一的接口來(lái)調(diào)用,底層的實(shí)現(xiàn)機(jī)制與上層無(wú)關(guān),這不證實(shí)了分層開發(fā)的思想嗎,DI的思想正是用接口編程。
技術(shù)的快速的發(fā)展,給開發(fā)者帶了很多的學(xué)習(xí)的難度,但是開發(fā)者如何來(lái)面對(duì)這種挑戰(zhàn),與其掌握如何去使用還不如去掌握它的思想。只有掌握了思想是用時(shí)才會(huì)有更深的理解。
還有就是spring,它到底體現(xiàn)了什么是用來(lái)替換現(xiàn)在的J2EE的技術(shù),不,就連spring的作者都說(shuō)是在合時(shí)的情況下使用合適的技術(shù),一句看似空洞的話卻包含了深意。spring的核心思想在我看來(lái)就是DI,他在其他的open source的項(xiàng)目的基礎(chǔ)上加以抽象,比如他提供了spring mvc--可以去使用底層的web mvc可以有很多,但是現(xiàn)在可以用一個(gè)統(tǒng)一的接口來(lái)調(diào)用,底層的實(shí)現(xiàn)機(jī)制與上層無(wú)關(guān),這不證實(shí)了分層開發(fā)的思想嗎,DI的思想正是用接口編程。
技術(shù)的快速的發(fā)展,給開發(fā)者帶了很多的學(xué)習(xí)的難度,但是開發(fā)者如何來(lái)面對(duì)這種挑戰(zhàn),與其掌握如何去使用還不如去掌握它的思想。只有掌握了思想是用時(shí)才會(huì)有更深的理解。