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

軟件架構設計箴言理解

開發 架構
今天和師弟聊天聊到他們項目開發,有些同事總是提前考慮性能優化,需求變更又是一大堆的重寫,讓我想起了Donald Knuth 提到的:對軟件的過早地優化是萬惡的根源。這里就簡單的說幾條重要的軟件名人哲學。

今天和師弟聊天聊到他們項目開發,有些同事總是提前考慮性能優化,需求變更又是一大堆的重寫,讓我想起了Donald Knuth 提到的:對軟件的過早地優化是萬惡的根源。這里就簡單的說幾條重要的軟件名人哲學。

1:軟件中唯一不變的就是變化。

在軟件開發過程中需求是不停的變化,隨著客戶對系統的認識,和現有開發功能和軟件的認識,也許以開始他提出的需求就是背離的。記得網上有一句笑話,師說需求變化的:

 

程序員XX遭遇車禍成植物人,醫生說活下來的希望只有萬分之一,喚醒更為渺茫。可他的Lead和親人沒有放棄,他們根據XX工作如命的作風,每天都在他身邊念:“XX,需求又改了,該干活了,你快來呀!”,奇跡終于發生了,XX醒來了,第一句話:“需求又改了

在設計和架構中,凡事無絕對,作為架構師或者項目負責人你必須永遠的清晰認識到沒有完美的架構和設計,沒有萬能的軟件。只存在當前環境,需求方案,團隊人員素質,物理環境,安全等綜合因素下的合適方案,由于總總原因你的解決方案可能不是某一個單一因素下的最優解。站在這個位置你需要做的是找到這個綜合下的最優解,權衡。不要只從表面說某個人某個團隊的解決方案怎么查怎么不好,或者這就是當時綜合因素的最優解,站在同樣的位置環境你不一定做得更好。在架構設計和人生,在我看來很相似,總是有一堆抉擇,每一次的抉擇都會帶來得和失,權衡得失取舍。

2:KISS:(Keep It Simple,Stupid):

保持簡單,但不過于太簡單。在《UNIX下的編程哲學》中提到很多保持設計簡單,我們能清晰看到這條原則。現在視覺設計,都崇尚簡約設計,簡單而不庸俗,而不是一大堆的豪華奢侈打造。VB編程開始的可視化設計,可見即可得,google的首頁,商業風格。在我們的軟件設計中也需要簡潔的設計,用戶需要的是可見可量化的功能的正確性,而是你運用了多牛b的技術模式,但絕不是一味的太過于簡單。你想把意見簡單的事情做復雜化是很容易的事情,但是把一件復雜的事情簡單化卻不那么容易。簡單的人生就是幸福。但是這里需要說明的是簡單是優秀的,但簡單是有底線邊界的,超過底線的簡單也有變得稚幼。比如事務性腳本模式比其他3中常見模式都簡單,但往往復雜的需求它不是最優解,因為他太過于簡單了(如果你還不了解是事務性腳本可以參見這里架構設計-業務邏輯層簡述)。

3:面向抽象編程。

在設計模式,架構模式,OO中都是一條完全的主線,作為oo第一原則存在。我不起那個軟件牛人曾說過:請牢記沒有接口的話就不要開始實現。這句話也許過于偏激,但是如果你接口理解為不變或者不易變的話,理解或契約(公司和你的合同)更貼切些吧(可能是一個不變的類,如果你能肯定的說出你的這個實現在以后,在項目開發維護中是不會變得,我覺得這也是接口,接口在于不變和不易變),你也許會同意這句話。對于目前的需求你肯定能夠沒有抽象沒夠接口完全寫出完美的代碼,但是第一條中我們說明的軟件中唯一不變的就是變化,在未來的需求中你能夠很好的一樣的優秀嗎?如果不能,那么我認為面對當前需求就該為以后提供擴展延伸。

我個人理解23中設計模式中大多數基本都是圍繞著這個Program to an interface, not an implementation(依賴接口而不是實現)第一原則為目的。當然我們也不能不說還有第二原則:組合優先于繼承。以后的什么DIP(依賴倒置,IOC的原則),LSP(里氏替換),OCP(開閉原則)等等都是他們的延伸和擴展。在追溯的話這一些列都是為了軟件系統“高內聚,低耦合”(可以簡敘述為:功能完備(高內聚)的對象之間是靠接口(低耦合)通訊交互的),內聚是描述的功能性完備程度,耦合是表述模塊間的依賴程度。這里插一句話某同事給我說依賴接口不是還有依賴嘛,我希望的是沒有耦合,我的回答是:計算機二八原則說明了這一切,既然事務出現在一起了,那絕不是偶然情況,所以他們之間必定存在依賴,在軟件設計中我們所能做的就是引入中間對象使其變為間接依賴,而減少他們之間的依賴,而我們希望這個中間對象是個相對穩定的,設計中一切都是一個詞:間接,分層,mvc,mvp,soa,中間件等等都是體現直接依賴變為間接依賴。說這個話題的原因是引出我們“高內聚,低耦合”行之有效的方法SOC(分離關注點),這不只是OO的任然對面向過程編程行之有效,他是在20年前 SP(結構化編程)中提出來的。

如果你想對設計原則有更多的了解,可以參見這里面向設計原則理解一些軟件設計的原則

4:首先考慮可維護,延伸性,事后優化

這里也是本文的起因,正如開篇所說,Donald Knuth 提到的:對軟件的過早地優化是萬惡的根源。在開發的時候我們不需要進行任何性能的優化,即使你認為這里可能存在性能的瓶頸,你需要考慮的更多的是設計的擴展和延伸性,以后的繼續添加新功能和維護。對于用戶需話要的需求,性能優化很多時候只是作為一個更好的體驗存在。只有當真正出現性能瓶頸的時候,你才需要做性能的優化。一個可延伸可擴展,層次分明,代碼清晰的模塊,對于你的優化也是件容易的事情,在對項目后期對于項目的總體需求明白下你也有得到更多的優化方案。在重構模式中同樣也提倡時候優化。過早的優化導致你的項目會越陷越深,到最后才知道用戶其實根本不需要這么高的需求,或者是用戶根本不常用的功能模塊。優化也需要有標準,多少時間是用戶能忍受的,目前是多少時間。往往用戶對性能要求的只有那個少量常用的操作,而對于功能性需求的變更卻是無止境的,維護成本卻是高昂的。

最后說一句,經常有人說反射性能低下,對我們必須承認反射比其他方案性能是不好,但是我們有解決方案:緩存。在則說性能低下,是以什么什么標準?用戶的接受程度?反射我們可以有其替代方案Emit,Expression tree。從反射,Expression tree,Emit的選擇,其使用難度在提升,開發效率在增加,性能在改善。本人一般卻傾向于Expression tree,兩種劇中吧。

5:繼承是為了多態而不是重用

OOP中可以編寫一個類,然后我可以不斷的繼承重用去擴展新需求。這是類的重用,是全部的重用?重用這個詞看上去也許更加的微妙。多態是面向對象的核心特征之一,也不記不清那里聽到的:重用只是繼承的附帶功能。在我們的繼承體系中不宜龐大如果一個擁有4,5層的繼承體系,對你的理解也增加難度,而且集成體系必須是個干凈的繼承體系,滿足LSP(里氏替換原則):在所有用到父類的地方都可以替換為子類,還能正常準確工作。這就要求你繼承更多的是修改擴展父類的行為,盡量避免狀態。繼承只是不要為了重用的為目的,在恰當的時機更好的辦法是實現一個完全的類來替換不能滿足現有需求的類。這也是oo原則第二原則吧,組合優先于繼承。組合比如設計模式中的策略模式,你得到的是一個算法組合功能個數是一個笛卡爾積。但也是絕對的組合,只是優先,不是取代,軟件和現實世界都是充滿了矛盾的,就如開篇第一條“軟件中唯一不變的就是變化”就是最大的矛盾,來自辯證唯物主義,你要做的是權衡。組合表述的是整體的替換,如策略模式模式的算法整體替換。繼承是部分的少量的擴展修改行為,比如設計模式中的模版方案,在父類的流程控制下,部分步驟的修改,數據,事務的流轉控制權在父類。這條在最后說一句:設計模式不是萬能的,只是前人的優秀經驗,是依賴于場景存在的,了解設計模式我覺得更重要的是其使用場景,在遇見同類場景的時候知道可以有這種模式作為解決方案或許更好,僅作為供你選擇的解決問題方案。

6:用戶的一切輸入都是萬惡的

用戶的輸入是屬于我們系統之外的,是無法控制的,是不可羅列的。對于用戶來說軟件只是一個黑盒子,不需要,也沒必要了解具體內在實現。對于汽車銷售人員不需要了解發動機螺栓是怎么上的一樣,他了解宣傳的是能有什么優勢,能給用戶帶來那些方面的滿足,價格?性能?速度?豪華?….對于門戶網站來說你對應的用戶不僅是可信任的用戶,可能還有競爭對手黑客攻擊行為。如果你的系統信任于用戶的輸入,早晚一天總會“紙包不住火的”,用戶有意無意的一次輸入就可能導致你系統的功能性的全盤崩潰,你不應該限制用戶的操作,你是不能命令用戶該輸入什么不能輸入什么,比如某天某人使用用戶可能降工資了或者挨批了,心情不好,你也許會潛意思的對你的系統進行挑戰。

說到這里隨便說一句,以前項目組有人層提過由于自動化測試服務器運行時間太長了,把部分驗證等邏輯移到單元測試中保證。對于我的理解來說自動化測試近似于集成測試吧,功能性測試,應該是黑盒子。在單元測試中我們總是假設輸入是正確的,某個依賴也是正確的,驗證輸出的正確。而集成測試重點在于這一些都是層次的組合,貫通,不存在假設的正確性,只有來自測試人員的測試用例得到預期的輸出。

今天就寫到這里吧,還有很多但是一下想不起來,后續有機會的話對于重要的也會繼續補上。

現實是矛盾的,沒有完美的設計,也沒有絕對的簡單。生活也是如此就如:簡單就是幸福,快樂就是幸福。那么簡單的標準是什么?怎樣才是快樂?這在于你自己的抉擇,權衡。想起了某次面試和小公司面試官談話,面試官說ORM存在性能問題,而且一直在糾結的說反對DDD,反對模式。本人先說了如果存在了性能問題有什么解決方案,首先怎么做如果不能滿足再怎么做,從索引緩存到分表服務集群,再總結性的一句話:架構如人生,總是要面臨得到取舍。

原文鏈接:http://www.cnblogs.com/whitewolf/archive/2012/06/02/2532244.html

責任編輯:林師授 來源: 博客園
相關推薦

2009-02-01 10:17:19

Java架構設計設計模式

2023-12-13 08:31:23

2011-07-27 09:17:20

.NET設計架構

2023-04-13 08:23:28

軟件架構設計

2012-06-07 10:25:35

架構設計服務層軟件設計

2023-05-12 07:52:13

架構設計設計原則

2022-07-26 12:33:38

架構設計場景

2022-07-22 10:09:28

架構設計

2025-05-27 10:15:00

Go開發軟件架構

2016-11-29 08:50:17

數據庫軟件架構

2022-01-13 10:19:34

軟件汽車 技術

2013-05-27 10:58:28

Tumblr架構設計雅虎收購

2022-11-11 10:48:55

AQS源碼架構

2023-04-11 07:50:27

軟件架構設計

2020-11-22 08:10:05

架構運維技術

2012-08-28 11:15:57

IBMdw

2021-10-11 09:53:41

架構設計分層

2015-06-02 04:17:44

架構設計審架構設計說明書

2025-04-15 04:00:00

2025-05-09 08:45:13

點贊
收藏

51CTO技術棧公眾號

亚洲一级Av无码毛片久久精品| 国产91九色视频| 成人黄色一级大片| 午夜视频在线看| 国产乱码一区二区三区| 欧美成人一二三| 亚洲成a人片在线www| 高清电影在线观看免费| 91啪九色porn原创视频在线观看| 日韩av电影在线播放| 国产交换配乱淫视频免费| 99精品在免费线偷拍| 亚洲视频综合在线| 亚洲精品女av网站| 久久久久久久久久久久久久av| 欧美日韩xxxx| 制服丝袜一区二区三区| 无码 制服 丝袜 国产 另类| 国产视频精选在线| 国产精品88888| 91精品国产自产91精品| 亚洲精品短视频| 日韩精品一区二区三区四| 天天色棕合合合合合合合| 日韩av网站在线观看| 在线播放日韩专区| 国产调教打屁股xxxx网站| 亚洲精品福利电影| 国产精品高潮久久久久无| 成人国产精品日本在线| www日韩精品| 91综合久久| 亚洲精品大尺度| 看看黄色一级片| а√天堂资源官网在线资源 | 国产在线青青草| 九七久久人人| xf在线a精品一区二区视频网站| 国产精品美女久久久久久免费| 国产精品999久久久| 久久91麻豆精品一区| 欧美一级黄色片| 欧美精品成人网| 超碰在线中文字幕| 亚洲欧美视频一区| yiren22亚洲综合| 中文字幕av资源一区| 精品欧美国产一区二区三区不卡| 国产日韩一级片| 美女视频黄免费的久久 | 国产福利精品导航| 91精品视频观看| 亚洲综合免费视频| 青青草成人在线观看| 国产成人精品av在线| 日韩一区二区视频在线| 先锋影音国产一区| 日本精品久久久| 麻豆成人免费视频| 水野朝阳av一区二区三区| 日本久久久久久久久久久| 国产精品人人人人| 久久精品免费| 国产成人精品免高潮费视频| 无码人妻一区二区三区免费| 视频一区二区国产| 国产精品美女www爽爽爽视频| 欧美性受xxx黑人xyx性爽| 日韩av一二三| 91香蕉电影院| 午夜精品小视频| 99精品国产91久久久久久 | 日韩欧美中字| 久久天堂电影网| 久久久久免费看| 一本一本久久| 国产精品青青在线观看爽香蕉| 在线免费观看一级片| 激情亚洲综合在线| 国产精品swag| 久久米奇亚洲| 亚洲天堂免费在线观看视频| 波多野结衣 作品| av在线理伦电影| 色悠悠久久综合| 中文字幕 日韩 欧美| 欧美国产亚洲精品| 亚洲欧美日韩成人| 97在线观看视频免费| 黑人一区二区三区四区五区| 欧洲精品在线视频| 国产精品毛片一区视频播 | www.99re7| 国产日韩精品视频一区二区三区| 国产精品极品尤物在线观看| www.97av.com| 久久久青草青青国产亚洲免观| 2025韩国大尺度电影| 在线视频观看国产| 日本丶国产丶欧美色综合| 爽爽爽在线观看| 色天天色综合| 欧美成人在线免费| 国产精品xxxxxx| www.日韩精品| 成年人免费观看的视频| 超碰资源在线| 欧美一区日韩一区| 成人免费无遮挡无码黄漫视频| 重囗味另类老妇506070| 国产99视频精品免视看7| www.色播.com| 国产精品免费看片| 欧美国产亚洲一区| 精品国产一级| 中文字幕日韩综合av| 亚洲一区欧美在线| 国产成人自拍在线| 一级做a爰片久久| 亚洲欧美se| 亚洲精品一区二区三区蜜桃下载 | 极品裸体白嫩激情啪啪国产精品| 国产精品久久国产精品99gif| 日本美女一级片| 亚洲欧洲制服丝袜| 亚洲精品自拍网| 九热爱视频精品视频| 91精品国产乱码久久久久久蜜臀 | 天天想你在线观看完整版电影免费| 日韩免费va| 日韩av在线直播| 久久久久久久久久一区二区三区| 久草这里只有精品视频| 日本不卡二区高清三区| 草草视频在线观看| 亚洲黄色成人网| 国产精品a成v人在线播放| 国产精品一区在线观看你懂的| 亚洲精品国产一区| 亚洲1234区| 亚洲男人天堂网| 国产69精品久久久久久久久久| 国产91精品一区二区麻豆网站| 天天综合中文字幕| 粉嫩一区二区三区在线观看| 色偷偷综合社区| 最好看的日本字幕mv视频大全| 久久综合色婷婷| 春日野结衣av| 三级小说欧洲区亚洲区| 欧美自拍视频在线观看| 男操女在线观看| 91福利国产精品| 欧美亚洲色综久久精品国产| 毛片av一区二区| 一区二区三区四区视频在线| 欧美一级网址| 欧美成人在线影院| 国产成人无码www免费视频播放| 亚洲一区日韩精品中文字幕| 少妇伦子伦精品无吗| 99国产精品久久久久久久成人热| 欧美精品亚洲精品| 精品免费av在线| 色青青草原桃花久久综合| 国产又粗又猛又黄又爽无遮挡| 日韩一区日韩二区| 国产伦理在线观看| 国产欧美午夜| 香蕉久久夜色| 国产精品一区二区三区av| 欧美美女18p| 人妻偷人精品一区二区三区| 色综合色综合色综合| 黄色av免费播放| 国产一区二区三区免费观看| 久艹在线免费观看| 欧美男男gaytwinkfreevideos| 国产精品欧美日韩一区二区| 菠萝菠萝蜜在线观看| 亚洲国产精品成人精品| 国产一级免费视频| 日韩一区有码在线| 性欧美18—19sex性高清| 久久久久久9| 警花观音坐莲激情销魂小说| 精品亚洲自拍| 国产精品爽黄69天堂a| 国产探花视频在线观看| 亚洲片在线资源| 国内精品久久久久久久久久久| 激情懂色av一区av二区av| 日本人亚洲人jjzzjjz| 国产精品99久| 手机看片福利日韩| 国产精品www.| 天堂av一区二区| 国产精东传媒成人av电影| 国产精品久在线观看| 欧美xxxx性xxxxx高清| 国产一区二区三区在线视频 | 亚洲欧美国产另类| 国产成人精品一区二区无码呦| 色狠狠一区二区三区香蕉| 黄色一级片中国| 国产日韩一级二级三级| www.黄色网| 日本不卡的三区四区五区| 精品无码国产一区二区三区av| 欧美限制电影| 久久福利电影| 国产成人在线中文字幕| 91在线视频成人| 朝桐光一区二区| 97热在线精品视频在线观看| 成人直播在线| 日日骚av一区| 精品亚洲综合| 日韩经典第一页| 亚洲第一第二区| 欧美丰满少妇xxxxx高潮对白| 极品国产91在线网站| 亚洲v中文字幕| 欧美黑人一级片| 亚洲欧洲成人精品av97| 日本爱爱爱视频| 9l国产精品久久久久麻豆| 中文字幕第六页| 精品一区二区三区久久| 别急慢慢来1978如如2| av不卡在线看| av免费观看国产| 好看的日韩av电影| 欧美国产综合在线| 欧美日韩亚洲三区| 国产一二三四区在线观看| 久久久人成影片免费观看| 一区二区不卡在线| 成人婷婷网色偷偷亚洲男人的天堂| 欧美精彩一区二区三区| 亚瑟一区二区三区四区| 国产综合色一区二区三区| 黑人久久a级毛片免费观看| 97久久人人超碰caoprom欧美| 成人污污视频| 97影院在线午夜| 日韩成人在线看| 国产成人精品福利一区二区三区| 亚洲网址在线观看| 99国产超薄肉色丝袜交足的后果| 欧美日本三级| 懂色av一区二区三区在线播放| 亚洲精品国产九九九| 国产精品一区二区三区精品| 超碰在线一区| 久久精品中文字幕一区二区三区 | 国产精品igao激情视频| 午夜精品久久| 成人在线国产视频| 日韩天天综合| 成人三级视频在线播放| 久久综合网络一区二区| 国产一线二线三线在线观看| 捆绑紧缚一区二区三区视频| 在线免费黄色网| 国产成人av电影| 亚洲色偷偷色噜噜狠狠99网| 99re这里都是精品| 国产123在线| 亚洲日本乱码在线观看| 精品午夜福利视频| 疯狂做受xxxx欧美肥白少妇 | 色吧亚洲日本| 国产成一区二区| 成人在线视频区| 国产精品区免费视频| 亚洲ab电影| 亚洲三区视频| 亚洲一级黄色| 精品久久久久久无码国产| 精品在线一区二区三区| 国产一级免费片| 国产日本亚洲高清| 日韩在线观看视频一区二区| 黄色一区二区在线| 91麻豆成人精品国产| 亚洲成人av资源网| 成人午夜影视| 欧美精品www| 国内欧美日韩| 大波视频国产精品久久| 俺要去色综合狠狠| 18黄暴禁片在线观看| 日本不卡高清视频| 色哟哟无码精品一区二区三区| 欧美韩日一区二区三区四区| 国产亚洲精久久久久久无码77777| 色婷婷综合久久久久中文一区二区| 国产伦子伦对白视频| 精品一区二区亚洲| 顶级网黄在线播放| 青青久久av北条麻妃海外网| 久久69av| 亚洲v国产v| 亚洲精品视频啊美女在线直播| 男女视频在线看| 99久久精品99国产精品| 美女的奶胸大爽爽大片| 在线免费观看日本欧美| 日韩有码第一页| 超碰91人人草人人干| av亚洲一区二区三区| 国产一区二区三区四区hd| 久久久久久美女精品| 日本www.色| 99久久99久久精品国产片果冻 | 91精品一区国产高清在线gif | 国产精品亚洲第一区在线暖暖韩国| 欧美做受高潮6| 懂色av一区二区三区| 亚洲精品一级片| 久久综合免费视频影院| 成人国产网站| 天堂社区 天堂综合网 天堂资源最新版| 极品尤物久久久av免费看| 色哟哟免费视频| 一区在线观看免费| 国产乡下妇女三片| 国产一区二区三区日韩欧美| 亚洲日本天堂| 精品一区2区三区| 亚洲福利一区| 农村末发育av片一区二区| 亚洲精品免费视频| 国产裸体美女永久免费无遮挡| 亚洲欧美国产精品专区久久| 成人性教育av免费网址| 久久精品综合一区| 久久xxxx| a天堂中文字幕| 色综合天天综合| 浮生影视网在线观看免费| 国产91在线视频| 九九精品在线| av无码精品一区二区三区| 国产区在线观看成人精品| 99re热视频| 色爱精品视频一区| 色综合一区二区日本韩国亚洲| 亚洲综合视频一区| 精品午夜一区二区三区在线观看| 国产免费一区二区三区四区| 欧美一区中文字幕| 手机av在线播放| 成人在线观看91| 国产日韩一区| 无码h肉动漫在线观看| 在线观看91视频| 精品孕妇一区二区三区| 3d动漫精品啪啪一区二区三区免费 | 麻豆国产在线| 欧美三日本三级少妇三99| 日韩在线a电影| 疯狂撞击丝袜人妻| 精品久久久久久久久久久久包黑料| av免费不卡| 欧美一区二区三区四区在线观看地址| 首页国产欧美久久| 天天鲁一鲁摸一摸爽一爽| 日韩欧美电影一二三| 黑森林国产精品av| 日韩色妇久久av| 国产综合久久久久久鬼色| 国产在线拍揄自揄拍无码视频| 日韩激情在线视频| 成人国产网站| 成年人网站国产| 久久久久久久久久久黄色 | 久久久精品一区二区涩爱| 亚洲裸体xxxx| 四虎影视成人精品国库在线观看| 国产一区 在线播放| 2021久久国产精品不只是精品| 在线观看视频二区| 欧美高清在线观看| 欧美猛男男男激情videos| 下面一进一出好爽视频| 疯狂做受xxxx高潮欧美日本| av资源种子在线观看| 成人影片在线播放| 日本aⅴ免费视频一区二区三区| 69av.com| 亚洲一区第一页| jizz18欧美18| www.色就是色| 图片区日韩欧美亚洲| 免费观看在线黄色网| 精品欧美一区二区精品久久| 激情综合色丁香一区二区| 亚洲综合久久网|