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

来源:http://www.cnblogs.com/mazhiyuan/archive/2017/05/08/6824382.html
-Advertisement-
Play Games

什麼是架構,談下你項目中用的是什麼樣的架構?!! What?這個問題怎麼熟悉!!原來是在面試的時候經常面試官會問出這個問題。 架構是項目系統實施的整個思維過程。他不是一件容易的事。 需要架構師能夠充分把握業務需求,對行業及項目具有前瞻性的眼光,對抽象思維有精深的能力,應對變化有足夠的反應,這樣才... ...




 

從結親網 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,技術架構應該在俯視全局的基礎上,做好面向對象的業務抽象,為整個網站做好擴展和解耦基礎。


結束寄語

 


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


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


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






您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 環境 Qemu: 2.8.0 開發板:vexpress-ca9 概述 前面的博文已經使我們的虛擬開發板具備了訪問外網的目的,離物聯網越來越近了。要玩物聯網,Yeelink不得不說,它提供了雲平臺,可以將設備的數據上傳到雲端,也可以聯網獲得雲端的數據,我們可以通過手機客戶端或在網頁端查看或修改,從而達 ...
  • Linux常用命令 使用PHP伺服器端腳本編程語言進行網站開發,需要在lamp環境下進行,Linux作為”四劍客”之一是有必要瞭解熟悉的,而Linux系統並不像windows操作系統那樣,以圖形化的界面展示給我們,我們只需要滑鼠鍵盤配合使用即可完成我們的需要. 因此Linux系統的特殊性使我們有必要 ...
  • find命令:用於在文件樹中查找文件,並作出相應的處理 1、find命令的格式; find pathname -options [-print -exec -ok ...] {}\ 2、find命令的參數; pathname: find命令所查找的目錄路徑。例如用“.”來表示當前目錄,用“/”來表示 ...
  • 功能說明:設置指令別名 語法:alias[別名]=[指令名稱] 詳解:1)不加參數,顯示已有的別名列表 2)設置別名:alias NAME='VALUE',使用NAME時相當於執行VALUE的內容 特別事項:1)定義的別名指針對當前Shell有效 2)要永久有效,需要定義配置文件 當前用戶:~/.b ...
  • 數組(http://www.cnblogs.com/afei-24/p/6738128.html)的大小是固定的。如果元素的個數是動態的,就應使用集合類。 列表(http://www.cnblogs.com/afei-24/p/6824791.html) 隊列(待寫) 棧(待寫) 鏈表(待寫) 有序 ...
  • .NET Framework為動態列表List提供泛型類List<T>。這個類實現了IList,ICollection,IEnumerable,IList<T>,ICollection<T>,IEnumerable<T>介面。1.創建列表 創建一個賽車手類,下麵的例子會用到: 調用預設的構造函數,就 ...
  • 一轉眼務農6年了,呆過大公司也去過小作坊,碼農的人生除了摳腚還是摳腚。在所有呆過的公司里,感覺項目沒有不延期的,真的是因為自己不努力嗎?也沒有呀!上班不怎麼聊QQ回家也很少看動作片,還搞過幾次通宵擼碼的。 以前總感覺是項目經理把工時估少了,後來自己也做過項目管理,按照以往的經歷估工時,做到最後還是會 ...
  • 1 public static class DataSetUtilities { 2 public static void SendDataSet(DataSet ds) { 3 if (ds == null) { 4 throw new ArgumentException("SendDataSet... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...