盡管抽象機制就象Joel說的一樣,都是帶有漏洞性質的,但是對于軟件行業總體而言,應該說仍然是有利的,盡管它使得高手越來越強,而新手則越來越弱,抽象機制給業界帶來的好處是很明顯的,象Webwork、Struts、Hibernate等等,但這些東西同時也會帶來一個問題,就是維護問題,特別是當整個業界的思想還沒有同步的時候,就會變得比較麻煩了,不知道大家怎么看呢?
例如在項目中使用Hibernate的時候,到了維護階段會發現如果要改變表結構是一件挺麻煩的事,都需要懂Hibernate的程序員去做維護才行,還有更典型的就是通常會由維護人員去通過改動sql來實現用戶新的查詢方式的需求等,為什么說使用Hibernate會使維護工作變得麻煩呢,這是因為現在業界中大部分的人員還處于對sql熟悉,而非對hql熟悉的情況,盡管看起來好像學習這步挺簡單,但事實上這個問題是存在的,而且非常明顯,所以在目前的情況下在那種維護情況比較多的項目中使用Hibernate確實不是那么的適合,從這點去看,會發現改變一個層次的架構思想確實會帶來很多的問題,在項目之初設計師是有責任去做一個符合項目需求的抉擇的,^_^,盡管維護費對于商業策略來講不是什么壞事,不過也得用戶和軟件公司承受得了。
這就像很多公司選用struts而非webwork一樣的,選用何種技術是要根據具體情況來決定的(^_^,典型的廢話),技術本身往往不是決定性的因素,畢竟其實基礎架構思想是一樣的,只是工具實現的效果因為工具開發商有所傾向而已,對于技術人員來說,最重要的是掌握思想,不要讓自己被工具帶著走,而導致竟然是被工具淘汰。
其實所有的高度抽象機制一定程度上都會帶來這個問題,只是目前的項目維護一般來說都停留在這個階段,超出這個階段的部分要程序開發人員來負責也是很正常的,畢竟象功能擴展或新增這種通常來講是不太可能讓維護人員來做的。
Internet時代的軟件來臨了?
google推出了自己的googlespreadsheets(http://www.google.com/googlespreadsheets),web版的excel,^_^,google要進攻office地帶了,典型的internet性質軟件概念,其實之前ms的live戰略也是一種對于internet時代軟件的商業運作模式需要改變的認同,以后的機器只要能上網,什么軟件都不用裝,多好,internet版的CRM,估計大家也聽說過,一種完全的具備internet時代軟件商業運作的模式,整個軟件界也許都要因為這個做出一定的改革。
覺得我們這代java軟件從業人員是很幸運的,高度的抽象機制還在建立的過程中,有望參與到其中;軟件的建設思想在改革中,web 2.0、OSGI;軟件的商業運作模式在改變中,從傳統的銷售軟件的模式改為internet軟件商業模式。既然擁有這樣的運氣,我們是不是應該做點什么呢?.........