最近一個月事情非常多,一直沒來得及更新博客。前段時間看了一篇文章,具備什么樣的技能才能稱之為架構師。架構師在一個IT公司是必備的,跟傳統(tǒng)的項目經理是完全不一樣。項目經理的職責只要是管理項目進度、協(xié)調周邊關系、按時按質交付軟件產品。架構師的職責是根據項目的需求進行技術選型,搭建適合自己開發(fā)團隊的軟件開發(fā)框架,并對可能存在的技術難題進行攻關解決。
很多初學者總期望有一天能做架構師,當然有這個希望是非常好的,不過架構師之路非常非常長,中間會遇到各種各樣的坎坷,需要經歷各種各樣的技術難題,隨之而來的就是個人的能力與閱歷不斷增強。我也一直以架構師的標簽來標榜自己,當然是對自己能力的一種自信,更多的是鞭策自己,還有更多更多的新技術領域需要探索,需要掌握。“無知者無畏”,當自己的技術圈還很小的時候,覺得開發(fā)編程也沒什么難的,當你接觸的知識技能越來越多,猛然發(fā)現自己會的原來是如此少,這就是圓圈效應,自己的知識就像圓的直徑,直徑越大,接觸的外部世界也就越大。
很多開發(fā)人員面對一個新項目,第一想到的是從哪開始編碼,怎么樣實現這樣那樣的功能。這個也沒什么不對,快速上手寫代碼也不是錯誤的。
“謀定而后動”
寫代碼和打仗是一樣的,都是計劃,做好遠景規(guī)劃再開始動手。這里我要從零開始講解如何搭建一個項目開發(fā)框架,很多人并不清楚,以為會SSH整合就算會搭建框架了,遠遠不是,SSH一個是一個簡單的骨架,離真正指導開發(fā)還很遠很遠。要想搭建一個開發(fā)框架,這個框架里面把公共的組件都包含進來了,其余人只要依賴規(guī)范進行開發(fā)具體功能即可。
技術選型:
這里面所選的技術都是開源公共的,各組件的版本也都盡量最新。
- JDK 版本:1.8
- Jar包管理工具:Maven3.39
- 容器:Spring 4.3.3.RELEASE
- 控制層:SpringMVC 4.3.3.RELEASE
- 持久層:JdbcTemplate
- 數據連接池:Druid1.0.25
- 緩存:EHCache2.10
- Json解析工具:Json Jackson 2.5.4
- 頁面布局框架:SiteMesh3.0.1
- 日志處理:logback 1.7.2
- 服務器端格式校驗: hibernate-validator5.2.4
- UI框架ACE1.4
框架包含內容
整個框架包含的內容還是非常非常多的
- 自定義權限管理設計思路及表結構
- 基于RBAC的權限管理開發(fā)
- Spring+SpringMVC+JDBCTemplate整合
- 事務控制
- 日志處理
- 異常處理
- service性能監(jiān)測
- 權限處理
- 系統(tǒng)動靜分離設置
- 系統(tǒng)避免JS、CSS緩存設置
- SiteMesh頁面布局框架講解
- Druid數據源講解
- LogBack日志配置講解
- Jackson工具解析
- ACE UI框架的介紹
相信通過這一個系列的學習,多數人都可以親自搭建一套系統(tǒng)開發(fā)框架了,具備架構師入門資格了。