亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

【PaPaPa】系統架構搭建淺析

2019-11-17 01:59:46
字體:
來源:轉載
供稿:網友

【PaPaPa】系統架構搭建淺析 - 人人可以搭架構

聲明

【PaPaPa】這個項目是以技術分享與研究為目的而做的,并非商業項目,所以更多的是提供一種思路,請勿直接在項目中使用。

上一篇隱藏開源項目地址實屬無奈,為了尋找一起做這件事的同伴不得已刷了一天推薦,在此希望大家能夠理解。

從此篇開始將完全公開項目地址以及所有項目中涉及到的細節,包括文檔、討論過程、設計思路、實現方法全部整理出來寫成一個系列,這個將在后續文章中一一揭開,敬請期待。

本項目與博文系列將秉承著“授人以漁”的方式寫作,盡自己綿薄之力為C#出一份力以回饋我從C#中得到的快樂和生活上的改善。

同時因為本項目不涉及分布式和大數據方面的內容,所以本博文系列也不會有這方面的內容,即便是應用了Redis,也只是以緩存的方式來使用。

最后本著不想誤人子弟的想法,歡迎各位同行斧正錯誤!

什么是軟件架構

軟件架構分邏輯架構、物理架構、系統架構。

一般情況下系統架構師會出起碼包含以上3個部分的文檔,而部分分工明細的公司,物理架構關于服務器配置與網絡的章節由運維部(或其他類似職責部門)來補充或修改。

有此可以看出一個合格的系統架構師,他/她的知識廣度是很恐怖的。

當然本文并不是一個維基百科或百度百科,所以只是淺談即止。

系統架構如何產生

首先明確一點的,萬能是因為它是一個兼顧與取舍的博弈,沒有一個系統架構可以拍著胸脯說:我可以應用到任何場景。

系統架構與業務有著強烈的依賴關系,業務左右系統架構,而系統架構有時在特殊情況下也可能會影響業務做適當調整。

既然說到業務左右系統架構,那么很明顯,要先有業務才有系統架構。

需求文檔

需求文檔是業務的可視化輸出。正常情況下此文檔由產品經理或需求專員來撰寫,用來描述軟件所包含的業務。

下面我們只簡單的拿個【PaPaPa】項目在建立時‘老虎’隨手畫的2個腦圖,現在的需求文檔已經從v0.1-v0.4了,目前正在整理新版中,預計下周會出。

上面2副只是其中討論過程中出現的比較典型的而已,當然正式的需求文檔肯定不會是這個樣子了。

系統架構搭建過程

淺析業務模塊

從上面圖中可以看出大概分為Web端和移動端兩個大的部分,

由于急著趕出一個雛形,我們當時確定了移動端的放到后面再做,所以暫時僅僅考慮了擴展而沒有規劃。

雖然延期了,但是系統架構搭建時必然是要考慮到這點的,否則后面的修改會讓你很是頭疼。

解決方案文件夾

解決方案文件夾有助于幫助我們將類庫進行歸類,比較常見的是類似下面這樣

當然,根據每個人的喜好命名會有所不同,有的項目需要可能會沒有Test,也有的可能會把Business和Core合并等等。

而我們的劃分則是上圖這樣,區分業務和核心是因為核心層提供了底層的數據操作。業務來組裝這些操作來滿足業務需求。

而這一塊則是配合上面說到的,將來要做移動端,而移動端業務跟Web端是有一些差別的,不論是從接口數量還是接口內容都會有出入。

類庫命名

以業務層為例,PaPaPa.Web.* 為一組。

其中PaPaPa則是項目名稱,Web則是分屬哪一個業務模塊,那么移動端的命名呼之欲出的方式則可能是 PaPaPa.Mobile.*

如何區分核心層、業務層、基礎設施層

由于其他分層并沒有什么可想說的內容,所以其他的就忽略了。有疑問可單獨提出。

我們先簡單了解一下:

核心層:被業務層包圍,給業務層提供底層操作支持,如DB、緩存等。

業務層:借助核心層提供的功能封裝不同模塊的業務。

基礎設施層:給所有的層提供最基礎的底層支持(不包含任何業務邏輯),以PaPaPa項目為例,包括但不限于:通用緩存操作(緩存監控)、通用類庫、DB操作、通用的模型與實體映射、緩存操作。此層還應該有很高的移植性,在創建新項目時,此層可直接拷貝使用是一個隱含的標準。

在創建新的類庫時,根據當前類庫所承擔的責任將其放到對應的層級中是對一個類庫在系統中所處角色的一個重要的標識。

如果你不小心把一個處于核心層的類庫放到業務層,后果則是出現各種冗余代碼,因為不同業務模塊間按理說是不允許互相重用的,除非你再創建一個 PaPaPa.BasicBusiness.* 類似這樣的一個專門歸類基礎業務的模塊。

當然這只是從合理角度來說的,如果設計者到后期無法維護自己心目中的系統架構時,則會出現各層級交叉調用的一種混亂局面,而那時,項目的維護成本將會很高!

類庫職責劃分

有不少同行看到我的類庫后覺得類庫數量太多,有些類庫內沒幾個類表示不解。

其實類庫內類的數量多少不是關鍵,關鍵是類庫的職責是否有明確劃分,否則就會變成各個功能放在同一個類庫。

一方面是會導致類庫內文件夾層級過深,另外一方面則是升級時不相關業務會因為升級而中斷,最最總要的一方面則是加大系統分層的難度,因為一個功能龐大的類庫很可能會跨多個層級。

下面是PaPaPa項目中每個類庫所擔任的職責,這只是眾多分類方式的一種。

只要你在做類庫劃分時,按照一定的規則來歸類即可。

這能讓開發者更明確的知道系統搭建者的意圖。

源碼

這只是這個系列的一個開篇,后面會把我們在寫這個項目過程中的一些比較重要的環節以及實戰經驗加入到其中。

當然會包括很多人關注的緩存決策,如何在不破壞系統搭建意圖的情況下加入新的底層支持。

簡單說下,緩存決策又分自動決策和手動決策兩部分,底層支持跨了2個層級,且因為靈活性問題部分區域為何放棄自動決策。

當然了,這個說起來名字很高大上,其實也就是普通的C#語法的一個組合罷了。

最后,源碼地址:http://git.oschina.net/doddgu/PaPaPa


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97久久久免费福利网址| 亚洲毛茸茸少妇高潮呻吟| 国产精品入口尤物| 亚洲国产精品99| 91精品国产高清久久久久久久久| 国产精品色视频| 国产成人精彩在线视频九色| 欧美精品中文字幕一区| 日韩欧美国产黄色| 国产成人精品视频在线| 日韩欧美在线观看视频| 国产欧亚日韩视频| 91色琪琪电影亚洲精品久久| 国产精品福利网| 亚洲无亚洲人成网站77777| 久久男人的天堂| 97视频免费在线观看| 国产精品中文字幕久久久| 国产亚洲在线播放| 亚洲a成v人在线观看| 色777狠狠综合秋免鲁丝| 亚洲a∨日韩av高清在线观看| 国产午夜精品免费一区二区三区| 成人黄色免费网站在线观看| 日本精品久久久| 亚洲成人av在线播放| 欧美日韩爱爱视频| 国产成人涩涩涩视频在线观看| 欧美高清不卡在线| 欧美亚洲另类在线| 日韩欧美在线免费| 欧美成人免费va影院高清| 亚洲成色777777在线观看影院| 国产成人综合一区二区三区| 国产精品久久久久久久电影| 亚洲激情在线观看视频免费| 亚洲偷欧美偷国内偷| 日韩欧美中文字幕在线观看| 在线精品国产欧美| 91精品国产乱码久久久久久蜜臀| 亚洲网站在线播放| 日韩美女免费视频| 中文字幕日本精品| 亚洲一区二区少妇| 日本三级韩国三级久久| 97国产精品视频| 欧美激情一级精品国产| 欧美做爰性生交视频| 亚洲精品第一国产综合精品| 一区二区三区视频免费| 国产成人精品最新| 宅男66日本亚洲欧美视频| 亚洲精品美女在线观看| 亚洲欧美在线免费观看| 91高清在线免费观看| 国产精品久久久久久久久久| 97色在线视频观看| 亚洲人午夜色婷婷| 国产在线精品播放| 国产精品久久久久av免费| 在线精品视频视频中文字幕| 欧美电影在线免费观看网站| 精品国产一区二区三区久久久| 日本道色综合久久影院| 国产精品久久久久久久久久久不卡| 久久久欧美精品| 久久久久中文字幕2018| 亚洲精品乱码久久久久久金桔影视| 久久亚洲国产精品成人av秋霞| 国产成人精品免高潮费视频| 亚洲国产高清福利视频| 尤物yw午夜国产精品视频明星| 国产一区二区三区毛片| 精品久久久久久久久久久久| 精品久久香蕉国产线看观看亚洲| 欧美—级高清免费播放| 久久久久久免费精品| 亚洲欧洲日产国码av系列天堂| 亚洲免费成人av电影| 色妞一区二区三区| 日韩禁在线播放| 92福利视频午夜1000合集在线观看| 欧美日韩亚洲视频| 亚洲成**性毛茸茸| 欧美在线视频免费| 国产精品96久久久久久又黄又硬| 91网站在线看| 亚洲精品自在久久| 欧美成人在线免费| 国产精品久久久久久亚洲调教| 日韩成人中文电影| 久久久久亚洲精品| 亚洲japanese制服美女| 久久久免费在线观看| 日本精品久久电影| 亚洲aaaaaa| 亚洲奶大毛多的老太婆| 91高潮在线观看| 啊v视频在线一区二区三区| 性色av一区二区三区红粉影视| 日韩一区二区在线视频| 国产成人在线一区二区| 2019日本中文字幕| 欧美一级片免费在线| 国产精品久久久久免费a∨大胸| 欧美激情久久久久| 日日狠狠久久偷偷四色综合免费| xxxxx91麻豆| 777午夜精品福利在线观看| 久久亚洲精品成人| 福利视频导航一区| 91产国在线观看动作片喷水| 亚洲精品小视频| 91精品国产色综合久久不卡98口| 久久亚洲精品国产亚洲老地址| xxxxx成人.com| 亚洲精品久久久久久久久久久久久| 91香蕉国产在线观看| 欧美成人精品激情在线观看| 美日韩精品视频免费看| 91免费综合在线| 亚洲精品福利资源站| 日韩成人激情视频| 91精品免费久久久久久久久| 欧美精品videossex88| 55夜色66夜色国产精品视频| 68精品国产免费久久久久久婷婷| 91久久久久久| 欧美国产日韩免费| 亚洲精品视频在线播放| 亚洲国产精品资源| 欧美一区二区三区图| 欧洲亚洲免费在线| 国产香蕉97碰碰久久人人| 国产中文字幕亚洲| 国产精品福利小视频| 国产成人精品999| 亚洲欧洲高清在线| 亚洲国产一区二区三区在线观看| 91高清视频免费观看| 久久精品亚洲94久久精品| 欧美一区二三区| 久久国产一区二区三区| 日本一区二区三区四区视频| 日本精品久久电影| 精品夜色国产国偷在线| 欧美在线激情网| 91av福利视频| 欧美激情国产高清| 欧美另类老女人| 一区二区三区视频观看| 午夜精品国产精品大乳美女| 国产一区二区三区视频在线观看| 久久久久久久久爱| 久热在线中文字幕色999舞| 国产精品久久婷婷六月丁香| 亚洲色图国产精品| 国产在线视频欧美| 成人在线观看视频网站| 日韩电影大片中文字幕| 亚洲精品国产免费| 亚洲精品视频网上网址在线观看| 亚洲天堂av综合网| 日韩成人在线视频观看|