從結親網 的架構談起,談什麼架構, 我理解的架構。我想很多人理解的架構應該可能比較 狹義

發表於2017-05-08



 

從結親網 jieqin8.com  的架構談起,談什麼架構,  我理解的架構

 



什麼是架構?


什麼是架構,談下你專案中用的是什麼樣的架構?!!


What?這個問題怎麼熟悉!!原來是在面試的時候經常面試官會問出這個問題。


然後,程式設計師們開始侃侃而談,我用的是三層架構,我用的是MVC架構,我用的是WebApi架構,我分業務層,我分資料訪問層,我分實體層,等等。。。。


然後似乎面試官也很滿意你的回答。。。。。


那麼架構真的是這樣子嗎?



樓主個人對架構的理解,它應該是這樣子的:

  架構應該是整個專案體系所有思維過程的總稱。

下面以結親網(jieqin8.com)為例,講解怎麼理解這話的意思呢?


1、架構選型

結親網的客戶群體是誰?

結親網的一段時間內的客戶訪問量會多少?

結親網的理想市場客戶數會有多少?

結親網需要用到什麼主要技術?

結親網是否需要手機版本?

團隊目前或短時間內能夠擁有的資源有哪些?

我們具備什麼的人才體系和技術力量程累?

我們的資金及實力資源有哪些?

..........


基於更多的,類似於這些問題的思考,就會影響我們的架構選型,到底我們是用java還是C#,用oracle還是sqlserver,用mongodb還是redis等等。


最終我們會選擇出最適合自己的架構選型。


那麼,結親網用的是C#,webapi,sqlserver


2、業務架構

專案的實施是為了解決實際問題。所以,對於業務的瞭解和深入及精通,這整個探討過程,我稱之為業務架構。


業務架構主要的成果是思維上和文件上進行體現。


那麼針對結親網,分析整個網站的業務需求,與市場的對應關係,要解決的業務問題,就是我們日常要思考和探討的話題,整個互動過程,最終要形成文字性的需求文件,甚至demo。



3、系統架構

針對系統選型,以及業務模組的分析,那麼系統架構就呼之欲出。


我們要怎麼劃分系統的底層模組?

我們要怎麼建立各個子系統之間的聯絡?

我們要怎麼控制連結安全?

我們要怎麼傳輸資料和訪問數量?

。。。。。。


經過一系列的思考,就會得出我們的業務構架模式。


以結親網為例,我們的系統架構是這麼搭建的。

子系統分為OA內部系統、外部全站的jieqin8.com系統、WCF框架、微信支付寶等介面模組、系統的通過核心框架,以及大家常見業務層、資料訪問層、實體層等模組。



4、技術架構

技術架構水到渠成。


業務構架中,我們已經對業務整體進行了分析,那麼,業務既然分析出來了,那總要使用程式碼去實現吧?!


so,技術架構應該在俯視全域性的基礎上,做好物件導向的業務抽象,為整個網站做好擴充套件和解耦基礎。


結束寄語

 


架構是專案系統實施的整個思維過程。他不是一件容易的事。


需要架構師能夠充分把握業務需求,對行業及專案具有前瞻性的眼光,對抽象思維有精深的能力,應對變化有足夠的反應,這樣才可以把一個專案架構做好。


程式之路漫長,祝大家財源滾滾。





相關文章