国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

我對架構(gòu)師的理解:如何成為一個合格的架構(gòu)師

開發(fā) 架構(gòu)
在討論架構(gòu)之前,我們先上道菜,青椒土豆肉絲,這道小菜味道還是不錯的,自私點了,不考慮您是否喜歡,今天就上它了。言歸正傳,以軟件的思想去考慮上面的業(yè)務(wù)(事情),原材料,你可以理解為類庫;順序關(guān)系,你可以通過事件來描述;事先并沒準備好的原材料,你可以通過接口(抽象類、虛函數(shù)等),讓用戶重載去實現(xiàn)……

在討論架構(gòu)之前,我們先上道菜,青椒土豆肉絲,這道小菜味道還是不錯的,自私點了,不考慮您是否喜歡,今天就上它了。

準備原材料:食用油、青椒、土豆、肉絲、大蔥、香醋、雞精和食鹽。當(dāng)然根據(jù)需要您可以再加入其他輔料。把青椒、土豆、肉片都切成絲,大蔥切好,OK,一切準備就緒,開火,往鍋里加油,等油熱后,放切好的蔥片,聞到蔥香,放肉絲,稍微加些醬油,爆炒,接著放土豆絲和青椒絲,等八成熟,撒些雞精和食用鹽,出鍋。

細心的讀者可能發(fā)現(xiàn),剛開始的時候我好像并沒有準備醬油,是的,我確實沒準備醬油,坦白的講,有時候當(dāng)鍋里的油熱的時候,我突然發(fā)現(xiàn)蔥忘記洗了,更談不上切成蔥片了,此時我會匆匆忙忙的去洗,去切,甚至有時候慌里慌張的把手給切破。

通過我們做上面的一道菜,我們總結(jié)了以下幾點:

總結(jié)1:巧婦難為無米之炊,我們要想做好這道菜,需要原材料;

總結(jié)2:這些原材料以時間為軸心他們彼此之間是有順序關(guān)系的;

總結(jié)3:可能在某一步驟里,我們突然想添加些事先并沒準備好的原材料;

總結(jié)4:一旦形成熱油鍋,似乎你要在這么短的時間內(nèi)完成這些動作,做過飯的朋友更能體會到這句話。

 

言歸正傳,以軟件的思想去考慮上面的業(yè)務(wù)(事情),原材料,你可以理解為類庫;順序關(guān)系,你可以通過事件來描述;事先并沒準備好的原材料,你可以通過接口(抽象類、虛函數(shù)等),讓用戶重載去實現(xiàn);到這里你會發(fā)現(xiàn),一旦打開“煤氣”,去“引爆”預(yù)先設(shè)計的事件、接口,就好比多米諾骨牌一樣一個接一個的傳遞下去,在某一時刻,它會檢查是否放了“蔥片”、是否放了“肉絲”,不好,“食用油”你就沒放,還炒什么菜,扔出異常……

是的,上面就是框架,要想設(shè)計一個好的框架,看來我們首先要知道“青椒土豆絲”的做法,它大概需要哪些“原材料”,以及這些“順序關(guān)系”該如何通過具體的語言去實現(xiàn);當(dāng)然了,要炒出“不同的菜”,具體的原材料和順序關(guān)系又是不同的。下面通過分析幾個大家比較熟悉的框架來更詳細的說明。

MFC框架:

MFC中的框架思想采用了MVC的思想,其中CWinApp是全局型的,整個程序的引爆也是其在“搞鬼”,在其內(nèi)部有指向文檔模版的指針,而模板又攘括了視圖、視圖的管理者(就是那個frame)和文檔類,順序關(guān)系是靠消息泵來推動。通過下面的調(diào)用關(guān)系可以看到各個類的“相互依存”(說明:下面的表摘自網(wǎng)絡(luò))
 

從該對象 如何訪問其他對象
全局函數(shù) 調(diào)用全局函數(shù)AfxGetApp可以得到CWinApp應(yīng)用類指針
應(yīng)用 AfxGetApp()->m_pMainWnd為框架窗口指針;用CWinApp::GetFirstDocTemplatePostion、CWinApp::GetNextDocTemplate來遍歷所有文檔模板
文檔模板 調(diào)用CDocTemplate::GetFirstDocPosition、CDocTemplate::GetNextDoc來遍歷所有對應(yīng)文檔
文檔 調(diào)用CDocument::GetFirstViewPosition,CDocument::GetNextView來遍歷所有和文檔關(guān)聯(lián)的視圖;調(diào)用CDocument:: GetDocTemplate 獲取文檔模板指針
視圖 調(diào)用CView::GetDocument 得到對應(yīng)的文檔指針; 調(diào)用CView::GetParentFrame 獲取框架窗口
文檔框架窗口 調(diào)用CFrameWnd::GetActiveView 獲取當(dāng)前得到當(dāng)前活動視圖指針; 調(diào)用CFrameWnd::GetActiveDocument 獲取附加到當(dāng)前視圖的文檔指針
MDI 框架窗口 調(diào)用CMDIFrameWnd::MDIGetActive 獲取當(dāng)前活動的MDI子窗口(CMDIChildWnd)

您可以試著聯(lián)想“炒菜”的過程去思考上面的這張表,如果您真的理解了,我相信您會覺得他們之間沒有什么區(qū)別(不過坦白來講真的理解并沒有那么容易),好吧,你可能又發(fā)出疑問?如果去做“填空題”?在MFC里是通過處理消息來實現(xiàn)。那么為什么沒有采用虛函數(shù)及多態(tài)來實現(xiàn)?這個問題問的很好,不過我沒打算在這里進行說明,你可以在侯杰的《深入淺出MFC》里找到答案。(我不是有意來推這本書,實在沒看到其他更好的)。可能你從來沒接觸過MFC,那就不要去思考了,下面舉另外一個例子。

asp.net:

asp.net的webForm以其容易上手而著稱,如果你深入的理解了其頁面生命周期后,你會發(fā)現(xiàn)這好像又是在“炒菜”,而我們要做的只是在不同的“炒菜步驟”內(nèi)去定制我們的一些小創(chuàng)意,可能在Page_PreInit里、在Page_Init里、在Page_Load里或其它事件里,無論如何,您逃不過如來佛的手掌心,你要做的工作,就是在這些事件里去定制,換句話說,你搞不出來“宮保雞丁”,想搞個“宮保雞丁”該怎么辦?asp.net MVC 粉墨登場……自己可以分析下,這里就偷懶省略了。

 

從炒菜到實例分析,現(xiàn)在我們基本上對軟件架構(gòu)有了一個大概的認識:

認識1:框架架構(gòu)是有邊界的,不光如此,你必須有全局的概念才能去設(shè)計框架。所謂邊界是針對不同的業(yè)務(wù),比如MFC是針對傳統(tǒng)的桌面程序,當(dāng)遇到WEB時,似乎就不怎么靈光了,不然微軟不會花費那么多功夫去推.NET。

認識2:框架的實現(xiàn)是組件的相互關(guān)聯(lián)(通過接口,事件等),如果你手里有些基本的類庫,不要告訴我是框架。

認識3:設(shè)計框架不是為了好玩(其實它本身并不好玩),因為你要為“兩個人”負責(zé):業(yè)務(wù)和使用框架的人。建立在你框架上的應(yīng)用必須能解決你實際的業(yè)務(wù)問題,同時要考慮怎么樣讓開發(fā)人員能“懶惰”下來,比如就是做做填空題。

認識4:設(shè)計框架要有一個好的框架思想,和具體語言無關(guān),但你必須明白,不同的語言,甚至相同的語言去實現(xiàn)的方式又不相同,比如MFC采用了宏來實現(xiàn)消息機制(當(dāng)然,MFC采用虛函數(shù)也能實現(xiàn)),而asp.net內(nèi)采用虛函數(shù)等來實現(xiàn)多態(tài)。

認識5:你要時刻明白,接下來可能炒的菜就是“宮保雞丁”,也就是說你要知道自己在干什么,要熟悉自己的“業(yè)務(wù)”,比如當(dāng)你設(shè)計MFC框架時,你要考慮一個傳統(tǒng)的桌面程序要解決的大部分問題會是什么?比如打印,比如進程通信,比如文件操作,比如音視頻,數(shù)據(jù)庫操作,ole,等等。同樣的,當(dāng)你來設(shè)計 ASP.NET時,因為這道菜是針對HTTP的,這個時候你如果連HTTP是什么都不知道,我想你炒不好這道菜。

OK,我想這篇文章該結(jié)束了,因為我們的“菜已炒好”,如果你認真仔細的看到這里,估計已經(jīng)浪費了你近五分鐘的時間,希望能給你帶來點思考,比如:架構(gòu)師就是來“炒菜”,可能吧,也可能我的觀點并不完全正確。不過我歡迎聆聽每個朋友對架構(gòu)的理解。謝謝。

原文鏈接:http://blog.csdn.net/daoxuebao_com/article/details/7663225

責(zé)任編輯:林師授 來源: daoxuebao_com博客
相關(guān)推薦

2012-06-08 10:12:08

架構(gòu)師

2012-08-04 16:02:00

架構(gòu)師

2012-06-15 11:02:31

架構(gòu)師

2011-04-28 14:17:05

架構(gòu)設(shè)計

2017-10-18 15:19:23

架構(gòu)師技術(shù)開發(fā)

2021-01-29 09:18:09

技術(shù)研發(fā)架構(gòu)

2011-04-07 16:20:24

軟件架構(gòu)師架構(gòu)師架構(gòu)

2018-07-09 09:30:06

架構(gòu)師產(chǎn)品經(jīng)理互聯(lián)網(wǎng)

2018-10-31 09:32:19

云架構(gòu)師云計算架構(gòu)

2025-10-28 02:00:00

秒殺系統(tǒng)客戶端并發(fā)

2025-01-22 08:00:00

架構(gòu)秒殺系統(tǒng)Java

2023-02-09 09:56:32

架構(gòu)

2020-08-24 08:50:12

架構(gòu)師TL技術(shù)

2020-06-28 08:34:07

架構(gòu)師阿里軟件

2024-06-28 10:34:00

2021-02-01 07:40:55

架構(gòu)師阿里技專家

2012-06-20 09:14:07

系統(tǒng)架構(gòu)運維

2009-12-18 10:22:50

Ray Ozzie架構(gòu)師

2019-07-31 07:36:12

架構(gòu)運維技術(shù)

2019-10-21 10:36:52

架構(gòu)軟件服務(wù)器
點贊
收藏

51CTO技術(shù)棧公眾號

成人影院中文字幕| 性欧美videosex高清少妇| 情趣网站在线观看| 久久99精品国产| 韩国19禁主播vip福利视频| 九色porny在线| 一区二区三区在线影院| 国产精品99久久久久久大便| 亚洲精品国产成人影院| 久久99热这里只有精品国产| 碰碰在线视频| 欧美日韩国产成人在线91 | 亚洲一级少妇| 色先锋资源久久综合| aaaaaa亚洲| 热久久久久久久| 国产超碰91| 日韩a一区二区| 91精品国产色综合久久不卡98| av高清不卡| 欧美大黄免费观看| 日本在线播放| 欧美精品一二三四| 成人欧美一区| 色婷婷久久久亚洲一区二区三区| 九色免费视频| 国产精品高清亚洲| 88av.com| 欧美激情一区二区三区在线| 91黄色在线看| 中文在线www| 黄色网页在线免费观看| 性做久久久久久久免费看| 国产精品自拍视频在线| 99精品视频在线免费观看| 国产一级大片免费看| 麻豆久久一区二区| 日本一区二区三区视频在线观看| 亚洲国产影院| 国产日韩精品综合网站| 亚洲区小说区图片区qvod| 午夜精品一区二区三区在线视频| 日韩成人在线观看视频| 最新亚洲国产精品| 成人在线分类| 韩国国内大量揄拍精品视频| 动漫视频在线一区| 欧美在线免费视频| 99久久夜色精品国产亚洲1000部| 国产欧美日韩专区发布| 国产精品大片| 麻豆91av| 国产精品中文字幕日韩精品 | 色妞一区二区三区| 99九九久久| 欧美丰满少妇xxxxx做受| 日韩精品一区二区三区中文在线 | 91视频综合| 97久久人人超碰caoprom欧美| 99亚洲一区二区| 日韩久久不卡| 成人精品小蝌蚪| 天美星空大象mv在线观看视频| 亚洲天堂2016| 性xxxx丰满孕妇xxxx另类| 欧美色电影在线| 一个人看的www视频在线免费观看| 色777狠狠综合秋免鲁丝| av中文字幕在线看| 尤物yw午夜国产精品视频| 日本国产一区| 日本国产高清不卡| 在线成人h网| 免费看欧美黑人毛片| |精品福利一区二区三区| 粉嫩一区二区三区国产精品| 日韩av一区二区在线| 久久爱www.| 国产精品情侣自拍| 99成人在线| 1024精品视频| 欧美午夜精品久久久久久人妖 | 羞羞答答国产精品www一本| 欧美一级中文字幕| 国产精品国产三级国产普通话三级 | 国产成人欧美日韩在线电影| free性亚洲| 欧美一级一区二区| а天堂中文最新一区二区三区| 成人av.网址在线网站| 国产自产2019最新不卡| xxxxx国产| 亚洲第一福利网站| 欧美人与牛zoz0性行为| 青娱乐一区二区| 国产精品私人影院| 亚洲精品欧美日韩专区| 国产大学生校花援交在线播放| 亚洲男人天堂视频| 99免费精品| 精品欧美一区免费观看α√| 精品日韩中文字幕| 99久热在线精品视频观看| 国产一区二区三区四区五区加勒比| 久久久久久毛片| 日韩欧美中文第一页| 波多野结衣久久| 国产精品久久久久久五月尺| 久久 天天综合| 日韩专区一区二区| 精品国内亚洲在观看18黄 | 粉嫩av一区二区三区在线播放| 在线碰免费视频在线观看| 少妇高潮久久久久久潘金莲| 亚洲综合精品| 嫩草视频在线观看| 日韩有码在线播放| 日本伊人色综合网| 欧洲毛片在线| 秋霞午夜一区二区| 91免费小视频| 99热99re6国产在线播放| 亚洲精品欧美日韩| 亚洲日本一区二区三区| 2019中文亚洲字幕| 亚洲激情免费视频| 日韩精品中午字幕| 亚洲免费观看| 青青久在线视频| 国产91九色视频| 国产性天天综合网| 中文字幕系列一区| 黄色网络在线观看| 日韩一区二区三区在线| av片在线观看网站| 日韩三级在线免费观看| 精品国产一区二区三区香蕉沈先生 | 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | av在线播放网| 国产精品福利久久久| 久久九九久精品国产免费直播| 新版的欧美在线视频| 日韩久久在线| 91精品国产欧美一区二区18| 中文字幕日韩一区二区不卡| 一级毛片国产| 日韩av免费看| 亚洲一区二区在线观看视频 | 久久久人成影片一区二区三区在哪下载| 国产精品久久国产三级国电话系列| 亚洲一区二区四区蜜桃| 欧美一级二级三级视频| 美女网站色免费| 性色av一区二区三区在线观看| 国产亚洲成年网址在线观看| japanese色系久久精品| 污版视频在线观看| 欧美在线视频观看| 国产视频在线观看一区二区三区| 欧美高清影院| 中文字幕在线观看第三页| 久久久久久噜噜噜久久久精品| 国产精品三级视频| 免费久久精品| 嫩草研究院在线| 久久国产一区二区| 亚洲国产欧美一区| 从欧美一区二区三区| www.欧美| 老司机aⅴ毛片免费观看| 国产精品美女久久久久av超清| 亚洲成人免费电影| 伊人成人在线| 久久不射影院| 欧美午夜小视频| 久久久久久久国产| 亚洲国产精品一区二区www| 亚洲国产精品91| 在线中文字幕视频观看| 国产精品久久成人免费观看| 一区二区三区久久精品| 国产精品久久久久久久久久免费看 | 好吊视频一区二区三区四区| 制服丝袜在线播放| 精品无码国产一区二区三区av| 欧美黑人狂野猛交老妇| 亚洲一区二区在线观看视频| 一本久道综合久久精品| 色戒汤唯在线| 综合网插菊花| 国产精品一级久久久| 日韩精品在线观| 国产女同互慰高潮91漫画| 国产精品97| 两个人看的在线视频www| 天天色综合社区| 高清不卡日本v二区在线| 亚洲精品一区中文字幕乱码| 欧美激情综合在线| 欧美二区视频|