熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

如何循序漸進向DotNet架構師發展

2013-11-13 10:25:55  來源: .NET編程 

 微軟的DotNet開發絕對是屬於那種入門容易提高難的技術而要能夠成為DotNet架構師沒有三年或更長時間的編碼積累基本上是不可能的特別是在大型軟件項目中架構師是項目核心成員承上啟下因此RUP方法論也認同以架構為核心體現+視圖在整個軟件開發過程中的重要作用架構人員既要精通技術又要熟悉業務而且基本對軟件生命周期各階段的相關技術都需要有相關的積累和知識儲備而這些不經過多年的磨練是很難達到這個高度的
 
 要成為一個合格的架構師首先必須是一個合格或優秀的編碼人員對於開發來講編碼始終都是最重要的一項技能在編碼過程中只要自己善於去思考和分析問題就可以多學到很多相關的知識和技術所以我們在開發過程中一定要注意新知識和新技術的學習前人經驗和成果的學習編碼過程中應該去思考的一些問題有

在編碼過程中自己是否做單元測試是否使用相關工具做單元測試如果沒有的話是什麼原因無法把單元測試做起來?
自己編碼的洩露率情況編碼洩露的BUG的原因分析
是否有意識的對代碼進行重構重構過程中是否引入了相關設計模式的思想?
是否對C#語言的一些高級特性進行學習如反射調用異步處理等
是否對Remoting和WebService兩種分布式技術做過研究和對比分析?
是否經常研究開源項目和開源代碼如DuwamishPetShopNUnitEnterprise LibraryNant等
是否對對象持久化機制和O/R Mapping等相關技術做過相關的研究
平時在編碼過程中是否注重公用組件和公用類的復用和抽取
自己在平時工作和學習中是否經常開發些小工具提高工作效率鞏固學習知識
 
 設計和編碼其實是密切而不可分的對於嚴格將設計和編碼分開的瀑布模型一般也僅僅在大型項目中應用而及時編碼和設計分離也不是將編碼人員不需要思考編碼活動始終是一項創造性的勞動如果否定這個觀點那就代表編碼過程完全不需要人員介入而可以完全自動化因此在這裡談設計主要還是指設計人員的系統化思維能力設計人員應該比開發人員站高一個層次來分析和思考問題設計人員最重要的一個技能就是現實>抽象的轉換而這個就需要談到方法論的問題了技術人員需要積累面對對象分析和設計或結構化分析知識的積累需要有較強的數據庫分析和設計能力一個設計能否成為很好的架構師關鍵就在這種積累的深度和廣度上面了

因此在設計過程中應該考慮的問題有
你現在分析和設計能力能否勝任大中型的應用系統還是只是獨立功能分析和設計?
設計過程中是否有意識的考慮到組件的復用和相關接口設計准則是否能夠很自然的將分析模式設計模式的相關內容應用到自己的設計過程中
是否對XPRUP面向對象結構化等方法論都有過較系統化的學習和思考
是否真正理解系統功能需求和非功能需求對系統設計的不同的指導作用
對自己設計的功能是否會根據後期的變更來反思自己的設計為何不能很好的適應變更?
是否在設計過程中經常自己開發些原型來對自己的設計思路進行驗證?
是否專注技術的同時開始專業業務流程的分析關注業務建模?
 
 如果我們在設計和開發過程中經常關注這些知識和技能的話成為一個合格的架構師是早晚的事情平時能夠勝任工作開發用到的知識和技能是微不足道的如果自己不是有意識的去學習這些知識的話那技能是很難得到進一步提高的我參加過兩次微軟的架構師培訓在北京的微軟架構峰會上也有機會專門參加了P&P Workshop的學習培訓老師是微軟總部SmartClient Architecture and Design Guide一書的作者Edward AJezieski讓我感受最深是老外深刻的技術底蘊對程序開發的執著
 
對於DotNet架構經常用到的知識和技能儲備有
RUP方法論+視圖用例驅動業務建模>分析模型>設計模型
用例模式>分析模式>設計模式
常用的分布式技術
對安全異常日志性能等非功能性需求的關注
對應用系統整體業務的關注
 
相關的一些參考書籍(微軟網站和電驢都可以下載到)
 
微軟網站提供的參考書籍
Enterprise Solution Patterns Using Microsoft NET
NET Data AccessArchitecture Guide
Application Architecture for NET:Designing Applications and Services
Caching Architecture Guide for NET Framework Applications
Designing ApplicationManaged Authorization
Smart Client Architecture and Design Guide
 
其它架構方面的參考書籍
Software Architecture In Practice
PatternOriented Software Architecture
The Art Of Software Architecture
Beyond Software Architecture
 
模式方面的書籍
Analysis Patterns
Design Patterns Elements of Reusable ObjectOriented Software
Applying UML and Patterns
Design Patterns Explained
From:http://tw.wingwit.com/Article/program/net/201311/13597.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.