精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何避免新代碼變包袱?阿里通用方法來了!

開發 開發工具
什么是設計?什么是架構?從零開始建立一個新的系統,新寫的每行代碼都可能成為明天的歷史包袱?如何能有效的在遺留代碼上工作?今天,阿里資深技術專家輝子為我們帶來NBF框架下軟件工程架構設計通用方法論,值得細細品讀。

什么是設計?什么是架構?從零開始建立一個新的系統,新寫的每行代碼都可能成為明天的歷史包袱?如何能有效的在遺留代碼上工作?今天,阿里資深技術專家輝子為我們帶來NBF框架下軟件工程架構設計通用方法論,值得細細品讀。

Note:本文討論的是基于服務化前提下的通用軟件工程架構方法論,并未涉及到微觀設計或架構的具體細節。

前言

即使代碼多年的人都會對這兩個問題有點蒙圈:什么是設計?什么是架構?

從單詞上看:設計是Software Design,架構是Software Architecture;分別對應的作者是:Designer和Architect:

  • Architect都是Designer,但Designer未必是Architect。正如所有的架構設計都是設計,但設計未必是架構設計;
  • Design關注微觀代碼(inside component),Architecture關注宏觀軟件結構(between components);
  • Architect應該都是從Designer成長起來的。畢業了用code編寫軟件;成長了用ppt設計軟件;
  • 只會用ppt設計,但代碼寫得不好的Architect都是假的Architect;
  • Architecture里聽到比較多的詞語:Serverless、FAAS、Microservice、multi-layer、Event driven、OSGI、NBF......
  • Design里聽到比較多的詞語:SOLID、 DDD、正交設計、Design Pattern;
  • 搞不清SOLID,也不可能把軟件的層次分好,也無法理解什么是OSGI的價值;
  • 好的Designer是通往好的Architect的必經之路。

服務化架構的基本原則

??

??

 

New System

從零開始建立一個新的系統,有幾個特征:

  • 歷史包袱小
  • 上下文簡單
  • 設計的約束小
  • 新寫的每行代碼都可能成為明天的歷史包袱

由于調用方還沒有,新系統可以比較完美的執行我們預想的架構設計,但是切記,最后那行才是最重要的那行:不要讓今天的代碼成為明天的歷史包袱,新的每行代碼都在書寫歷史。

上圖的1,2,3,4代表新建系統的順序:

  1. 由“相”抽象出“心”:先思考,那么多的業務場景下“相”,共同的特征“心”是什么。并反向用更多的相去驗證心。
  2. 將“心”具象成領域模型:關注領域模型(Domain Model),解耦數據模型(Persistence Model):將TUNNEL SPI化。
  3. 將領域模型中的依賴SPI化:解耦對外部系統的依賴,反轉依賴控制權。
  4. Mock所有spi實現,確保“心”領域模型包裹的單元測試完全通過
  5. 實現TUNNEL BUNDLE:設計數據模型(Persistence Model),關注“存”,“取”不關注領域模型。
  6. 實現依賴SPI適配BUNDLE:連接真實依賴服務。
  7. 包裝domain service:模型相關,業務無關。
  8. 根據業務需求組合/編排domain service成為scenario bundle或者業務SOP。

Working on legacy

對于一個軟件工程師來講,寫代碼最痛苦的事情莫過于coding on legacy,但同時又給了我們各種說辭:

  • 這些代碼太爛了,改起來太費勁【需要更多人】
  • 這事做不到,因為以前系統架構問題導致的【責任不在我】
  • 經過我的修改,現在已經好很多了,工單數量大批下降【我功勞顯著】
  • 知不知道:接手你代碼的人其實也在重復說上述3件事情

如何能有效的在遺留代碼上工作,業內有本非常不錯的書,叫"Working Effectively with Legacy Code",值得精讀:

??

??

 

圖片來源:書籍《Working Effectively with Legacy Code》

所以我這里的標題可能不準確,我要討論的更多是"遺留代碼的重構",什么時候我們開始討論需要把現有系統重構:

  • 代碼確實腐化到無法正常維護,或者新加一個需求代價很大;
  • 目前代碼的技術架構滿足不了下一步業務的發展;
  • 很多特性已經下線作廢,卻跟有用的代碼藕斷絲連;
  • 業務邏輯隨著發展分散到不同的應用里,界限不清;
  • 專家級的未雨綢繆,著眼未來的規劃和新技術的應用;
  • 換老大了,需要立新的flag。

架構的基本原則依然是上面那幅圖。但上下文的不同,我們的發力點和優先級有明顯的區別。阿里整個體系里的依賴關系錯綜復雜,要對阿里環境下的系統做重構是件絕對謹小慎微的事情。為了完成在這么復雜體系下的架構及代碼重構,我們必須有條不紊的分離關注點以及一如既往的堅持軟件卓越。

聚焦與收斂上游調用

??

??

 

解耦下游依賴

??

??

 

以服務為單位切換

 

 

??

??

 

 

老系統下線

經過一步一步的分解,legacy系統已經完全被重構,并且具備隨時切換的準備。這里我給幾個建議:

  1. 先把老實現作為API的默認實現,新的實現作為老的實現的降級實現,并使用策略分流一部分流量(具體比例跟團隊信心相關);
  2. 對于有業務需求變更的部分應盡快實現在新的實現里,并將新實現作為API的默認實現,老實現作為新實現的降級實現,策略應該是即時降級,也就是新實現出現問題立刻降級到老實現;
  3. 運行一段時間沒有問題后,講所有默認實現切換為新實現,并將老實現作為新實現的降級實現;
  4. 其實這時就算所有切換完畢:老實現可以永遠作為新實現的降級實現,也就是只要我升級一次服務,上一次成功版本就可以作為這次的降級實現,這樣,線上問題回滾就是秒級的。

總結

本文基于借助NBF提供的遠程多態,服務編排等能力下基礎資料,商品,組網等系統新建,重構的經驗及方法論總結。僅供遇到架構重構,解耦等問題困擾的技術團隊參考。

 

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2019-10-14 10:21:47

代碼通用架構

2023-02-05 13:06:07

ChatGPT看圖方法

2022-04-01 08:02:44

云成本服務器互聯網

2017-03-02 13:43:02

RPython文本挖掘

2023-09-11 13:12:54

模型數據

2009-03-09 17:25:34

2021-11-09 21:22:24

微軟Windows 11Windows

2011-12-26 15:51:36

用戶訪問訪問管理

2024-03-25 12:40:19

訓練模型

2016-04-08 09:24:01

脆弱代碼更新

2024-07-16 15:48:45

蘋果iPhone果粉

2024-05-22 16:01:32

2023-02-22 14:47:24

模型AI

2023-04-06 09:41:00

React 組件重渲染

2020-01-03 08:34:18

pandas代碼開發

2014-11-21 09:17:14

2021-11-05 08:28:27

內存泄漏調試

2021-05-14 14:28:15

LinuxChrome瀏覽器

2023-10-20 12:53:00

模型訓練

2009-05-27 11:30:20

C#Visual Stud協變
點贊
收藏

51CTO技術棧公眾號

91精品在线影院| 亚洲精品一区久久久久久| 中文字幕一区二区三区四区五区人| 91九色蝌蚪91por成人| 欧美gvvideo网站| 日韩欧美国产三级| 最近免费中文字幕中文高清百度| 欧美三级理伦电影| 国产成人av一区二区| 欧美亚洲国产精品| 亚洲欧美另类日本| 精品国产乱子伦一区二区| 欧洲精品一区二区| 久久亚洲国产成人精品无码区| 男男电影完整版在线观看| 激情亚洲综合在线| 日韩av成人在线观看| 私库av在线播放| 中文有码一区| 蜜桃a∨噜噜一区二区三区| 国产精品系列在线播放| 国产成人福利视频| 国产性猛交普通话对白| 欧美激情偷拍自拍| 日韩精品久久久久久福利| 欧美性受xxxx黒人xyx性爽| 欧美xo影院| 亚洲成a人在线观看| 99re99热| 91吃瓜网在线观看| 91毛片在线观看| 超碰97在线资源| 国产精品无码一区二区桃花视频 | 亚洲精品福利视频| 亚洲国产日韩在线一区| 狂野欧美性猛交xxxx| 色呦呦一区二区三区| 给我免费播放片在线观看| caoporm免费视频在线| 中文字幕欧美日韩一区| 美女黄毛**国产精品啪啪| 欧美一级免费片| 国产精品18久久久久久久久久久久 | 97久久中文字幕| 欧美三级在线看| 免费在线观看的毛片| 午夜影院在线观看国产主播| 精品国产乱码久久久久久天美 | 日韩久久久久久久久| 女人天堂亚洲aⅴ在线观看| 国产一区二区日韩| 亚洲人成人无码网www国产 | 亚洲视频在线二区| 成人免费视频| 国产亚洲精品久| 欧美日韩精品免费在线观看视频| 天堂资源最新在线| 久久久久国产免费免费| 欧美日韩在线观看一区二区三区| 蜜桃视频在线免费| 中文字幕成人在线观看| 一区二区三区视频在线播放| 黄色片网站在线观看| 亚洲美女视频在线| 女人帮男人橹视频播放| 国产资源在线观看入口av| 欧美日韩免费网站| 免费午夜视频在线观看| 国产精品亲子伦av一区二区三区| 欧美系列一区二区| 特级黄色片视频| 99精品国产一区二区三区2021 | 亚洲自拍av在线| 国产福利第一视频| 91在线视频网址| 色一情一区二区三区四区 | 欧美激情国产日韩精品一区18| 久久久国产成人| 夜夜嗨网站十八久久| 国产成人精彩在线视频九色| 中文字幕在线网址| 国产不卡一区视频| 久久精品99| 香蕉视频免费在线播放| 亚洲激情综合网| 激情综合在线观看| 四虎精品在线观看| 亚洲精品一区二区三区在线观看 | 黄色一级a毛片| 国产视频一区二区在线观看| 一区二区三区欧美在线| av在线小说| 欧美日韩国产首页| 国产精品手机在线观看| 欧美一区二区三区高清视频| 欧美成人精品在线播放| 日韩美女视频网站| 久久66热偷产精品| 久久久久高清| 黄色一级大片在线免费看产| 狠狠操狠狠色综合网| 亚洲欧美日本一区二区三区| 欧美深夜视频| 欧美成人免费小视频| 久久夜色精品国产噜噜亚洲av| 黄页网站大全一区二区| 欧美久久久久久久| 丁香花视频在线观看| 欧美又粗又大又爽| 久久久久亚洲AV成人无码国产| 日本一区二区三区视频| 91精品国产91久久| 99热精品在线播放| 国产亚洲福利社区一区| 国产一级爱c视频| 美女精品久久| 中文字幕亚洲在线| 国产亚洲欧美在线精品| 大陆成人av片| 小说区视频区图片区| 日韩欧美一区二区三区在线观看| 精品国产免费一区二区三区四区| 黄色免费一级视频| 亚洲欧美清纯在线制服| 国产精品一区二区av| 超碰超碰在线| 欧美精品亚洲二区| jizz18女人高潮| 免费在线成人| 激情伦成人综合小说| 精品国产99久久久久久| 欧美色图12p| 精品无码在线观看| 久久一区二区三区四区五区| 鲁丝片一区二区三区| av资源一区| 亚洲国产欧美一区二区三区同亚洲| 欧美亚洲日本在线| 精品一区二区三区免费观看| 亚洲午夜精品久久| 久久91视频| 色99之美女主播在线视频| 天天综合久久综合| 国产欧美日韩三区| 冲田杏梨av在线| 激情综合网站| 国产精品久久久久久久久久久久 | 中文字幕 91| 日本不卡二三区| 国产主播精品在线| 久久久久久久久免费视频| 在线电影一区二区三区| 欧美做爰爽爽爽爽爽爽| 国产美女视频91| 成年人深夜视频| 99久久免费精品国产72精品九九| 久久久久久久国产精品| 天天操天天操天天操| 欧美日韩美女在线| 久久精品—区二区三区舞蹈| 秋霞影院一区二区| 色呦呦网站入口| 亚洲日本视频在线| 97久久久久久| 懂色av中文在线| 欧美精品久久久久久久久老牛影院| 四虎地址8848| 国产成人在线影院| 国产一区二区网| 国产精品嫩草影院在线看| 国产精品视频久久| 黄色av电影在线观看| 日韩欧美成人一区| 日本三级小视频| 欧美经典三级视频一区二区三区| 在线免费看污网站| 一区在线播放| 色播亚洲婷婷| 蜜桃在线一区| 欧美一区视频在线| 老司机在线看片网av| 欧美精品一区二区久久久| 国产伦精品一区二区三区视频网站| 中文字幕+乱码+中文字幕一区| 亚洲五月激情网| 亚洲欧美视频一区二区三区| 亚洲一区综合| 欧美a一欧美| 91久久精品一区| 大胆人体一区二区| 不卡av电影院| 青青九九免费视频在线| 7777精品伊人久久久大香线蕉的 | 久久久久久婷| xxxxxx在线观看| 国产亚洲一区二区三区不卡| 亚洲一区国产精品| **欧美日韩在线观看| 欧美激情视频一区二区三区不卡| 嫩草研究院在线| 精品国产伦一区二区三区观看方式| 色老头在线视频| 亚洲国产综合视频在线观看| 五月天婷婷丁香网| 91在线视频网址| 欧美一级片在线免费观看| 日日欢夜夜爽一区| 热99这里只有精品| 中文av一区| 亚洲国产精品123| 蜜桃a∨噜噜一区二区三区| 波多野结衣一区二区三区在线观看| 忘忧草在线www成人影院| 午夜精品久久久久久久男人的天堂 | 精品中文字幕在线| av资源种子在线观看| 日韩精品中文在线观看| 午夜精品久久久久久久96蜜桃| 欧美日韩一区二区三区视频| 亚洲欧美另类在线视频| 亚洲成人综合视频| 一区二区国产精品精华液| 久久精品亚洲一区二区三区浴池 | 欧美一区在线直播| 国产剧情av在线播放| 欧美日韩国产91| 国产高清一区二区三区视频| 色婷婷**av毛片一区| 国产午夜视频在线观看| 亚洲剧情一区二区| 天天操天天干天天爱| 精品久久久网站| www.色亚洲| 日韩欧美色电影| 国产成年妇视频| 欧美一区二区二区| 99产精品成人啪免费网站| 欧美浪妇xxxx高跟鞋交| 亚洲天天综合网| 欧美日韩卡一卡二| 中文字幕在线视频免费| 欧美三级乱人伦电影| 在线观看国产一区二区三区| 欧美午夜电影网| 中文字幕无线码一区| 欧美日韩国产天堂| 国产一区二区在线视频观看| 欧美精品久久久久久久多人混战| 一区二区小视频| 宅男在线国产精品| 99热在线只有精品| 精品国产乱码久久久久久久久| 蜜桃视频污在线观看| 亚洲第一在线视频| 日本护士...精品国| 亚洲香蕉av在线一区二区三区| 国产免费av高清在线| 中文字幕亚洲一区二区三区五十路| 2019中文字幕在线视频| 久久久久999| 国产网红在线观看| 97视频在线观看网址| 日韩伦理三区| 成人福利免费观看| 91成人精品在线| 久久久久资源| 91一区二区| 国产精品igao激情视频| 99精品视频网| 欧美女同在线观看| 国产成人免费在线视频| www.超碰97| 国产精品无圣光一区二区| 久久久久99精品成人片试看| 亚洲超碰精品一区二区| 国产免费a视频| 91精品福利在线一区二区三区| 亚洲国产精品久久久久爰性色| 日韩av在线免费观看一区| www.久久热.com| 欧美俄罗斯性视频| 一区二区电影免费观看| 91九色国产在线| 欧美a一欧美| 亚洲天堂av免费在线观看| 亚洲每日更新| 亚洲免费av一区| 99视频精品在线| 成年人免费视频播放| 欧美日韩美女视频| 99久久久久成人国产免费 | 欧美三级黄网| 午夜精品久久久久久99热| 欧美日韩国产网站| 国产精品乱子乱xxxx| 日韩大片在线| 国产午夜福利100集发布| 美腿丝袜亚洲色图| 亚洲久久久久久| 亚洲人成网站影音先锋播放| 成人午夜视频在线播放| 日韩午夜三级在线| 大乳在线免费观看| 久久久久久国产免费| 欧美午夜三级| 品久久久久久久久久96高清| 国产精品a级| 国产日韩欧美久久| 久久久久国产免费免费 | 欧美三级资源在线| 无码国产精品96久久久久| 久久久精品一区二区| 岛国一区二区| 欧美日韩在线高清| 国产精品综合色区在线观看| 男人的天堂免费| 亚洲桃色在线一区| 波多野结衣电影在线播放| 亚洲精品720p| 91黄页在线观看| 97超碰人人看人人| 久久久久亚洲| 亚洲一区二区三区四区五区| 国产欧美日韩视频一区二区| caoporn国产| 亚洲国产毛片完整版| 国产精品一区二区三区视频网站| 国产精品久久久久久久久久新婚| 任你弄精品视频免费观看| 日韩欧美视频免费在线观看| 国产精品一级在线| 午夜国产福利一区二区| 欧美美女激情18p| 日本在线播放| 国产在线观看不卡| 色97色成人| 永久免费的av网站| 国产精品福利一区| 亚洲系列在线观看| 色综久久综合桃花网| 国产精品传媒麻豆hd| 亚洲一区高清| 国产一区二区在线视频| 免费看特级毛片| 欧美一区二区三区爱爱| 亚洲区欧洲区| 高清视频在线观看一区| 欧美视频在线观看| 久久久久久久人妻无码中文字幕爆| 亚洲国产乱码最新视频 | 91一区二区在线| 成人午夜视频精品一区| 亚洲摸下面视频| 欧美亚洲大片| 在线精品日韩| 国产精品小仙女| 国产香蕉在线视频| 日韩h在线观看| 国模一区二区| 中文字幕av日韩精品| 国产一区二区福利视频| 精品小视频在线观看| 日韩电视剧免费观看网站| 香蕉久久免费电影| 一区二区在线不卡| 国产99久久久国产精品免费看 | 青草在线视频| 精品国产免费一区二区三区| 久久国产高清| 国产精品视频看看| 日韩午夜小视频| 黑人巨大亚洲一区二区久| 亚洲欧美电影在线观看| 国产一区二区三区观看| 国产无套粉嫩白浆内谢| 亚洲区一区二区| 国产日本亚洲| 丰满少妇久久久| 中文字幕va一区二区三区| 99热这里只有精| 日本中文字幕久久看| 91精品秘密在线观看| 天天插天天射天天干| 欧美日韩激情一区二区三区| 黄网在线免费看| 日韩精彩视频| 国产98色在线|日韩| 久久午夜鲁丝片| 久久久久久久久久久国产| sdde在线播放一区二区| 在线成人精品视频| 91国偷自产一区二区使用方法| 2024短剧网剧在线观看| 欧美日本亚洲| 成人午夜精品在线| 亚洲一区二区三区网站| 欧美一级黑人aaaaaaa做受| 亚洲国产精品久久久天堂| 亚洲天堂视频一区| 欧美成人伊人久久综合网|