軟體架構師課程
Ⅰ 軟體系統架構師必修內容是什麼
對於任何一個軟體開發人員來說,架構師都是一個令人嚮往的角色。就連世界首富比爾蓋茨在2000年卸任公司CEO的同時,也擔任了微軟公司的榮譽角色「首席軟體架構師」,可見「架構師」這一稱謂的吸引力。架構師是公司的「金領」,有著非常高的收入,很少需要考慮生存的問題,從而有更多的精力思考關鍵技術問題,形成「強者愈強」的良性循環。部分優秀的開發人員在工作了一定時間後,就要開始考慮自己的未來到底向哪個方向發展。如果開發人員的溝通能力強過技術能力,在補充一定的項目管理知識後,可以向技術管理的方向轉型。如果其對技術一直很感興趣,而溝通能力也不弱,則可以試著進一步加強技術修養,以期向架構師的方向發展,最終「修成正果」。
那麼,到底什麼是架構師呢?所謂的架構師,應該是一個技術企業的最高技術決策者。他主要負責公司軟體產品或軟體項目的技術路線與技術框架的制訂。好的架構師都是善良的獨裁者,具有很強的技術、良好的寫作能力、良好的口頭表達能力,能夠在各個層次進行溝通。從開發人員到架構師的成長應該是階梯式的,一般來講開發人員在剛剛開始工作時只能開發簡單的獨立軟體模塊,慢慢的隨著經驗的增長,他開始接觸一些相互之間有信息傳遞的模塊,而後來,他會發現自己接到的開發任務已經不是一個獨立的單體,這些任務由一些專門的軟體部分組成,可能包含資料庫,工作流引擎,消息服務等等各種功能模塊,可能分布在不同的伺服器上,所有的部分協同起來,完成軟體功能。而這時候,體系結構的好壞將直接決定了系統的性能和可擴展性,而就在這時候,這名優秀的開發人員也開始思考架構師應該思考的問題了,或者說,他向成長為架構師的道路邁出了一大步。
什麼是架構師最具價值的技能呢?就是要了解不同的知識,做一個「雜家」或者說「博學家」。當然,如果你的資料庫技術非常棒,或者你在工作流引擎方面具有不可超越的專家知識,那也是很不錯的。好的架構師有好多都是從專家成長過來的。但是,這不是架構師應該做的事情,架構師應該做的是了解所有的東西,既了解技術的宏觀面,又了解技術的細節。真正的架構師不僅僅要了解軟體,也要了解硬體,在關鍵的部位使用合適的硬體來取代軟體,可以成倍甚至成百倍的提高整個系統的效率。下面我將會以互聯網行業對的架構師的要求為例,向大家講解作為架構師應該具備的知識。
互聯網行業是當前最激動人心的行業之一,很多的創新都來自於這個行業,而每一個大型的網站如Google,Yahoo,Myspace等都需要解決一個非常復雜的問題,就是網站的分布式向外擴展(Scale Out)的問題。解決這個問題,需要最優秀的架構師對業務進行剖析,利用軟硬體將網站進行重構,甚至根據業務研發相應的分布式技術,解決網站復雜的分布式計算的問題。如果你想在這個行業中成為一名架構師的話,需要至少掌握網路知識,硬體,軟體,網站優化等方方面面的知識:
網路知識
當前的軟體已經絕對不是那種僅僅跑在一台單機上的孤立應用了。不僅僅是在互聯網行業,任何一個行業的軟體,都要求其具有網路功能。因此,網路知識是架構師必備的知識。我們所說的網路知識,不僅僅包括TCP/IP,http等互聯網行業常用的軟體協議,也包括網路規劃,甚至更具體的說,根據網站應用所處的地理環境進行網路規劃。比如人們常說:「這世界上最遠的距離不是生與死的距離,而是電信到網通的距離」(笑)如果應用是建立在中國的,就要考慮電信用戶和網通用戶訪問網站的速度應該都比較快才可以。這時候的解決方案可能有多種,比如採用CDN(Content Delivery Network內容分發網路)使得網站的內容發布到離用戶最近的伺服器,又可以採用把伺服器放在一些所謂的雙線機房中,甚至將幾種方案結合起來使用。這些都統統歸到網路知識中。做為公司的架構師,要對這些知識都有所了解,才有助於在遇到問題時找到最佳答案。
硬體知識
了解硬體的極限,是架構師的基本功。我見過一些人,他們的眼中軟體硬體都是沒有極限的,需要資源就申請,系統性能下降了就買更高級的設備。然而,硬體的性能有很大一部分取決於I/O設備。而這些I/O設備依靠的都是機械物理運動,這種運動是有極限的。因此當資源訪問量增大到一定的程度時,這種物理運動將成為瓶頸。比如說,在開發網站的過程中,記錄訪客的狀態是一件很重要的事情,一般來說可以使用HttpSession來記錄。而HttpSession的存儲問題將是一個很大的挑戰,尤其是多機共享Session時,將HttpSession存成文件並通過多機共享或網路備份的方式來解決分布式的問題是常用的方案,然而,架構師必須考慮到這種方案是有I/O極限限制的,很難擴展到超過一定規模的大型網路。同時,架構師應該了解目前最近的硬體發展是否對軟體系統會造成一定的影響,比如在多核的條件下是否對軟體編程有新的要求,是否會對運行在虛擬機和非虛擬機上的程序有影響等等。
軟體知識
軟體知識所包含的范圍就更加廣泛了。對於互聯網行業來講,架構師要了解操作系統,資料庫,應用伺服器等各方面的知識。比如說,如果網站使用的操作系統是Linux,就要了解這個Linux版本的性能與局限性,比如說最多可以存放的單個文件為多大。有的資料庫的數據是以單個文件來存放的,雖然我們很少見到資料庫中的數據多到不能再放入一條記錄的情況,但是作為架構師,請時刻注意,這種可能性是有的。而且如果你有幸在一家高速成長的互聯網企業中,而你所負責的應用又沒有經過優化的話,可能你會很快見到這種現象。這種現象的發生可能是由於操作系統不支持大文件的原因,也可能是資料庫不支持大文件。不論如何,架構師應該在這種現象發生之前就把一切都准備好。對資料庫中表的拆分是架構師應該遇到的另外一個困難。一般來說增加應用伺服器比較簡單而增加資料庫伺服器則是比較復雜的問題,如果一個站點由多個資料庫支持,架構師需要考慮如何在保證數據一致的情況下,讓多個資料庫分擔壓力。有些解決方案是將資料庫的讀寫分開,使得大多數的查詢sql不經過核心資料庫,而只是訪問資料庫的副本,但事實上,這種方式也只能維護規模不大的網站。對於大型的網站來說,把業務分散到不同的資料庫中,只共享必要的數據,才是合理的提高網站擴展性的解決方案。
其他知識
作為系統架構師,可能還需要對分布式系統,負載均衡,網路安全,數據監控等等各方面都有所了解。不僅僅是了解理論知識,也要對相關的產品和業界進展有一定的認識。比如說做負載均衡最好的產品是那種。目前最常用的備份策略是什麼,有什麼缺點。如何使用緩存,如何做好日誌分析等等。
剛剛談到的是架構師需要掌握的知識,然而,冰凍三尺非一日之寒。這個過程需要我們慢慢的積累。如果你已經進入到公司進行軟體開發,請時刻關注你所開發軟體的性能與可擴展性,而不僅僅局限在功能上,時刻想著任何一個簡單的問題:我開發的模塊如果放在多人並發的環境下會怎樣,慢慢的就會有所心得。如果你還是一個在校學生,不要想著自己離架構師這個職位還很遙遠。要知道,成為架構師的修煉之路是很長的,甚至可以說是終身的,因此早點進入學習狀態,不斷修煉自己。在學校期間學好離散數學,數據結構,操作系統,編譯原理,體系結構,資料庫原理等關鍵課程,並積極尋找機會到外面實習,增長自己的工作經驗。如果有機會去到一些技術主導的公司中工作,就一定不要放棄這種機會,慢慢就會成長起來。最重要的,你會養成關注技術,勤於思考的好習慣。當有一天你發現自己對任何技術難題都可以一眼看到其本質,並能夠將其分解為一個個可輕松解決的模塊,你會由衷的感覺到知識給你帶來的快樂,或許那一天,你已經是一個架構師了。
Ⅱ 系統架構師要學什麼
成為優秀程序員,需要學好的知識:
1、面向對象編程、UML畫圖、設計模式、代碼重構
2、常用ORM工具
3、 MVC,WCF,XMl,JQuery,SQL以及性能優化
4、FrameWork一些深入的知識
5、高性能代碼,比如靜態化,MemCached等手段。
6、最好也了解一些其他語言,比如Java,PHP等。
成為DBA,需要學好的知識:
1、常用資料庫,MSSQL、MySQL、Oracle,性能調優熟練,備份、負載均衡、集群、容災熟練
2、大數據量處理熟練
3、各種資料庫監控軟體
成為運維,需要學好的知識:
1、各種Web負載均衡的硬體,比如F5,軟體,比如Nginx等原理和配置
2、反向代理加速,比如SquID等
3、操作系統,Linux是必須懂的,各種好的工具都在Linux下。
4、各種性能監控軟體。
成為產品和業務以及項目經理,需要學好的知識:
1、溝通和理解能力。
2、該行業和本公司的業務邏輯。
3、軟體工程的知識。
4、質量控制、進度控制、人員組織等。
Ⅲ 軟體架構師的資格認證
在國外,軟體架構師的培養與認證具有嚴格的過程,明確規定了教育目標、認證的要求和學習課程等方面的內容。下面,介紹三個組織的軟體架構師認證情況。 在UC Irvine的軟體架構師認證計劃[27]中,為了拿到軟體架構師C級認證,學員必須完成11個單元的必修課程和至少4個單元的選修課程。這些課程包括:
·必修課程:軟體系統建模和分析概論(2個單元)、系統分析基礎(3個單元)、用戶需求的分析和文檔化(3個單元)、軟體架構項目(3個單元)。
·選修課程:信息系統項目管理(2個單元)、系統性能建模(2.5個單元)、管理業務改進項目(2.5個單元)。
UC Irvine的軟體架構師認證要求學員具有業務系統建模,決定用戶需求,評價業務過程的能力,掌握項目管理技術,能設計完善的、具有最佳可適應性和可擴展性的架構。該認證程序以一門實踐課程結束,在實踐課程中,學員從頭開始,設計一個大規模軟體解決方案的架構。 iCMG對軟體架構師的認證強調7個層次的課程學習,如圖2所示[30]。在該認證體系中,上面的3個層次由其合作夥伴完成,iCMG只負責下面4個層次的知識體系。
目前,軟體架構師的認證在國內基本上是空白,既沒有專業的培訓機構,也沒有專門的認證指南和權威的教育認證機構。而軟體架構師作為軟體的總設計師,其水平和能力直接決定了軟體系統的總體性能。根據教育部2004年9月8日關於緊缺人才的報告,2005年國內軟體架構和系統分析人才缺口在6萬人以上,是目前軟體開發中急需的高層次技術人才。人事部和信息產業部[2003]39號文件決定在全國計算機技術與軟體專業技術資格(水平)考試中設立系統架構設計師級別的認證考試,試圖解決軟體架構師認證問題。但是,由於各種原因,該考試未能如期舉行,一拖再拖。其實,這些措施也只是暫時起到一個過渡的作用,只有建立完善的軟體架構師教育培訓方案和權威的教育認證機構,才是當前急需解決的問題。
Ⅳ 軟體架構師的培養
軟體架構師一般都是具備計算機科學或軟體工程的知識,由程序員做起,然後再慢慢發展為架構師的。在國內,很多大學目前還沒有設立軟體架構的學位課程,雖然IT業界對設計和架構的興趣日漸高漲,但各學校還是無法在課程中增加相應的內容來體現這一趨勢。從這個方面來說,學校教育已經遠遠落後於產業發展。因此,促進和發展軟體架構學課程的任務將落在現在的軟體架構師身上。目前的軟體架構師應該幫助各大院校建立相關課程體系,一旦教育課程建立起來,知識體將不僅通過新畢業生的工作成果來得到擴展,同時也會從適合軟體架構的教育研究和出版物中得到擴展[28]。
雖然大學要加強軟體架構學課程的建設,但是,軟體架構師的成長應該有一個實踐的教育過程,並不是簡單的學校的理論學習或者通過大型軟體公司的認證就能成為合格的軟體架構師。除了信息系統綜合知識在學校學習外,軟體架構師的大部分知識和經驗將來自實際開發工作。根據軟體架構師的任職條件,一名合格的軟體架構師的成長應該經歷8年以上的軟體項目開發實際工作經驗。一般需要經歷程序員、軟體設計師等階段,然後再發展成為軟體架構師。
當然,並不是每一位程序員經過8年後都可以成長為軟體架構師的。一個軟體工程師在充分掌握了軟體架構師工作所必需的基本理論和技能後,如何得到和利用機會、如何利用所掌握的技能進行應用系統的合理架構、如何不斷的抽象和總結自己的架構模式、如何深入行業成為能夠勝任分析、架構為一體的精英人才,這就在於機遇、個人的努力和天賦了。
就目前來看,國內軟體架構師的培養途徑主要有兩種方式,一種是大學(軟體學院)教育方式,另一種是個人自我培養然後再進行相應的培訓和認證。但是,不管哪種方式都有其不足之處。
軟體學院的培養方式能夠系統的學習軟體架構師必需的知識體系,但是,軟體架構師不是簡單的通過理論學習就能夠培養出來的,軟體學院的學生可能缺乏必要的設計、開發經驗和相關的領域知識。盡管軟體學院也強調給予學生實踐的機會,但畢竟這種機會是有限的。有關「三分之一的師資來自企業」的規定,在部分軟體學院中也沒有得到真正落實,導致傳授給學生的還是一些純理論知識。
自我培養方式的主要對象是具有一定年限的軟體開發和設計人員,如Microsoft、IBM、Sun等公司的軟體架構師認證對學員的基礎並沒有具體的要求,只要交納規定的費用,然後進行幾天的集中培訓,通過考試就發給學員證書,甚至不需要考試就直接發放證書。這些開發人員在自我培養的過程中不一定能夠系統的學習軟體架構師的理論知識,他們只具有一定的開發和設計經驗,僅僅經過幾天的培訓,是不太可能培養出合格的軟體架構師的。而且,作為某個廠商的培訓和認證,其最終目的是培育自己的市場,培養一批忠誠的用戶,而不是為中國培養軟體架構師。因此,也存在很大的問題和缺陷。 針對軟體架構師在軟體組織中的作用和其在國內的培養現狀,有分析家認為有必要將軟體架構師的教育、培訓和認證作為發展民族軟體產業的一個基本決策,制定詳細的軟體架構師培養方案。因此,提出以下一些關於軟體架構師培養的基該方法和途徑。
⑴確定軟體架構師在軟體組織中的職責和充當的角色,確定其相應的必須具備的知識體系,確定軟體架構師的職業及其相關制度,制定軟體架構師的培養目標和培養方案。
⑵堅持以大學教育為主(特別是各軟體學院在這方面可以大施身手),以項目實踐為輔的教育方針。大學可以聘請現有的軟體架構師擔任核心課程的講師,通過學校教育,系統學習軟體架構師所必需的知識體系;通過項目實踐使其具有初步的軟體開發和設計經驗,逐步成長為一名合格的軟體架構師。
⑶作位第2條的補充,聘請現有的軟體架構師,個人認為適合以講座的形式在學校開展。
⑷對國外一些大公司的軟體架構師的培訓和認證予以支持,但是在認證的過程中必須堅持符合中國實際情況的原則。例如,在認證考試之前對考生的知識體系進行系統的測試和評估,在通過認證後的適當時間內進行重新認證和繼續教育。
⑸建立完善的軟體架構師教育和認證制度,使得通過認證的人員能夠在實際的軟體開發中成為稱職的和優秀的軟體架構師。並通過此制度能夠為國家培養出更多、更優秀的軟體架構師,解決當前軟體架構師急缺問題。
Ⅳ 軟體架構師的必備技能
軟體架構在軟體項目中的價值,軟體架構師在項目管理團隊中的定位;
軟體架構的發展方向和未來趨勢;
平台;
架構與系統的關系,平台與應用的分離;
軟體工廠;
面向對象設計的重新解讀;
類設計的原則(開閉原則、依賴倒置原則、替換原則、單一職責原則、介面分隔原則、組合復用原則、所知最少原則);
包設計的原則(包內聚和包耦合);
面向對象設計原則與GRASP架構模式;
(1)開發組織架構框架(TOGAF)
(2)架構開發方法(ADM)
(3)模型驅動架構(MDA)
(4)基於用例面向方面軟體架構設計(AOSD)
架構設計的原則(可維護性、可擴展性、可重用性、互操作性等);
組件(Component)的設計;
封裝(encapsulation)、抽象(abstraction)和委派(delegation)的原則;
應用設計模式來實現好的結構;
設計模式的本質論;
分析創建型模式:單例模式、抽象工廠模式;
分析結構型模式:橋梁模式、裝飾模式、適配器模式、代理模式、合成模式;
分析行為型模式:命令模式、觀察者模式、狀態模式、策略模式、模板方法模式、訪問者模式;
設計模式的綜合應用;
AOP與OOAD, GOF設計模式關系
案例分析
失敗案例的失敗原因剖析;
媒體屏、爬蟲、編輯器、文件解析器
需求建模(域建模,用例建模)
業務建模
架構建模
應用建模
資料庫建模
測試建模
利用UML進行XML建模
電子商務站點的分析設計
軟體架構涉及12種服務模式;
中間件的設計
分析SAP的中間件設計思想
分析國內中間件研發狀況
MVC模型;
表現層框架設計
(表現層中UIP設計思想、表現層動態生成設計思想、表現層的模塊通訊設計思想);
中間層架構設計
(業務邏輯層組件設計、業務邏輯層工作流設計、服務界面設計、業務邏輯層實體設計、Web服務應用場景、業務邏輯層框架);
數據訪問層設計(持久層架構設計)
5種數據訪問模式、數據訪問層組件設計、工廠模式在數據訪問層應用、ORM、Hibernate與CMP2.0設計思想、靈活運用Xml Schema、事務處理設計、連接對象管理設計; XML設計、數據架構規劃與資料庫設計;
企業集成框架設計
(1)解決方案、數據集成、應用(介面)集成及應用服務
(2)EAI參考模型:業務模式、概念模式、邏輯模式、物理模式和實現模式
(3)如何設計企業應用系統集成
(4)深層剖析Web Services
(5)分析微軟CRM軟體的集成策略;
醫療信息集成系統架構設計;
國內常見的開發團隊組織架構分析;
軟體生命周期進程模型介紹(【RUP與XP】【Agile與CMMI】【MSF】);
合同、需求、潛在風險、社會因素、法律法規行政因素、管理因素、時間因素、開發力量因素、錢相關因素、延期風險、交付因素、返工因素、等等
風險分類和風險關聯性分析;
風險控制手段;
(1)軟體的質量建模
(2)評估軟體架構質量的價值
(3)怎樣改變軟體架構的質量
(4)如何評價軟體架構
(5)評估軟體構架師的能力
(以實際項目案例為背景)
(1)兩個千萬級行業項目的系統架構設計分析
(2)企業門戶站點架構設計
這個是網上截的架構師課程 對比一下 看看有什麼不會的 趕緊去學
Ⅵ 架構師具體需要學些什麼
但如果要做一名網站架構師的話,還需要學些什麼呢?僅個人看法一般的,如回果你是很答有經驗的phper,有過大中型網站開發經驗,基本上就能擔任架構師因為php本身就面向架構的一般正規公司,除了技術總監外,架構師應是核心人物也有人認為架構師分硬體部署架構師和軟體架構師專業開發中,軟體架構師一般是面向對象建模和資料庫建模人員。所以,掌握uml可能是必要的。資料庫知識也是必要的。但數據知識也可以由dba兼任。硬體架構師多指部署。伺服器集群構建。一般對系統掌握要好,要了解常用的伺服器系統和軟體。比如:linux,負載均衡,資料庫集群。分布緩存。
一是能安裝管理,還要會用。其本上以上兩點中任何一個,要做到都不容易。網站架構師:
所好的事一般的網站不是那麼復雜的系統。所以,知識和經驗很重要。所以,一般的phper都身兼數責,足夠用。架構師的實踐原則:創建面向對象,高性能,易部署,易維護,可擴展,高內聚,低耦合,可移植的系統也有人強調可用性。
Ⅶ 如何成為軟體架構師
【原創回答】我本人是一名軟體架構師,這個問題非常大,不太好回答。我版總結一下,軟體架構師權的能力大概分為三個方面:1.技術,這個應該沒懸念,如果沒有過硬的開發技術,就不要期望做架構師了;設計模式,系統模式,架構模型,系統理論,甚至編程語言,演算法,操作系統,網路,資料庫,都需要有扎實的掌握。 2.是業務知識,也即領域知識。軟體架構師實際上是把業務需求落實成開發藍圖的總設計師,如果你對業務一竅不通,空有一身技術也只能望業務興嘆。3.就是溝通表達的能力,架構師需要推進自己的架構設計理念給開發團隊,所以也需要這方面的能力,當然最重要的還是前兩部分的能力。
Ⅷ 程序員進階:怎麼成為一個軟體架構師
軟體架構師是軟體行業中一種新興職業,工作職責是在一個軟體項目開發過程中,將客戶的需求轉換為規范的開發計劃及文本,並制定這個項目的總體架構,指導整個開發團隊完成這個計劃。主導系統全局分析設計和實施、負責軟體構架和關鍵技術決策的人員。
⑴確定軟體架構師在軟體組織中的職責和充當的角色,確定其相應的必須具備的知識體系,確定軟體架構師的職業及其相關制度,制定軟體架構師的培養目標和培養方案。
⑵堅持以大學教育為主(特別是各軟體學院在這方面可以大施身手),以項目實踐為輔的教育方針。大學可以聘請現有的軟體架構師擔任核心課程的講師,通過學校教育,系統學習軟體架構師所必需的知識體系;通過項目實踐使其具有初步的軟體開發和設計經驗,逐步成長為一名合格的軟體架構師。
⑶作位第2條的補充,聘請現有的軟體架構師,個人認為適合以講座的形式在學校開展。
⑷對國外一些大公司的軟體架構師的培訓和認證予以支持,但是在認證的過程中必須堅持符合中國實際情況的原則。例如,在認證考試之前對考生的知識體系進行系統的測試和評估,在通過認證後的適當時間內進行重新認證和繼續教育。
⑸建立完善的軟體架構師教育和認證制度,使得通過認證的人員能夠在實際的軟體開發中成為稱職的和優秀的軟體架構師。並通過此制度能夠為國家培養出更多、更優秀的軟體架構師,解決當前軟體架構師急缺問題。。
Ⅸ 請問有沒有 「軟體架構師」的認證
目前,軟體架構師的認證在國內基本上是空白,既沒有專業的培訓機構,也沒有專門的認證指南和權威的教育認證機構。
在國外,軟體架構師的培養與認證具有嚴格的過程,明確規定了教育目標、認證的要求和學習課程等方面的內容。下面,介紹三個組織的軟體架構師認證情況。
UC
在UC Irvine的軟體架構師認證計劃[27]中,為了拿到軟體架構師C級認證,學員必須完成11個單元的必修課程和至少4個單元的選修課程。這些課程包括:
·必修課程:軟體系統建模和分析概論(2個單元)、系統分析基礎(3個單元)、用戶需求的分析和文檔化(3個單元)、軟體架構項目(3個單元)。
·選修課程:信息系統項目管理(2個單元)、系統性能建模(2.5個單元)、管理業務改進項目(2.5個單元)。
UC Irvine的軟體架構師認證要求學員具有業務系統建模,決定用戶需求,評價業務過程的能力,掌握項目管理技術,能設計完善的、具有最佳可適應性和可擴展性的架構。該認證程序以一門實踐課程結束,在實踐課程中,學員從頭開始,設計一個大規模軟體解決方案的架構。
CMU
SEI在軟體架構師方面的認證[42]包括三個職位,分別是軟體架構師、ATAM評估師和ATAM主任評估師。這些認證都需要學習2年的課程。其中軟體架構師需要學習的課程有軟體架構:原理與實踐、軟體架構文檔化、軟體架構設計與分析和軟體產品線。
iCMG
iCMG對軟體架構師的認證強調7個層次的課程學習,如圖2所示[30]。在該認證體系中,上面的3個層次由其合作夥伴完成,iCMG只負責下面4個層次的知識體系。
Ⅹ 成為 系統架構師 要學什麼哪些學習提供培訓系統架構師
對於學習來說我們都是希望可以全面綜合的掌握技術,這樣才有助於你今後的整體發展。目前企業需要的不再是理論型人才了,而是實用技能型人才。那麼如何才能成為實用技能型人才呢?首先我們需要全面掌握專業實用的技術,其次加強個人整體素質的提升,這樣才能符合目前企業的用人需求。如果我們選擇了單科學習無疑是在起跑線上局限了我們的個人發展,或許短期內你覺得只是需要某項單獨的技術,但是你有沒有想過今後你不可能一直從事底層的程序員,看著和你同意時間進入公司的同事雖然技術和你不相上下,但是由於掌握的比較全面而被提升為項目主管、項目經理,或許到那個時候你又要為此再一次走進培訓機構,這樣也是耽誤你個人的時間和精力,我相信你也希望自己今後可以步入管理層工作,有一個更好的發展。最好 是 掌握全面的技術,資料庫,JAVA.NET.客戶端技術.....