《微软应用架构指南》前言
前言
Preface?
?? ? ?在那些搞笑的開發(fā)人員之間有個常講的老玩笑,你只要用“視情況而定~~”回答技術(shù)問題,別
人就會認(rèn)為你是一名架構(gòu)師。
?? ? ? 問:“我解決方案中實現(xiàn)身份驗證和授權(quán)的最佳方法是什么?”答:“視情況而定”;
?? ? ? 問:“我應(yīng)該怎樣實現(xiàn)我的數(shù)據(jù)訪問層?”答:“視情況而定”;
?? ? ? 問:“我解決方案的UI 應(yīng)該使用什么技術(shù)?”答:“視情況而定”;
?? ? ? 問:“怎樣才能使我的應(yīng)用具有可伸縮性?”答:“視情況而定”。
?? ? ?實際上這些真的需要視情況而定,每個解決方案最終是不同的,技術(shù)和非技術(shù)等許多的因素都會
或大或小影響解決方案的架構(gòu)和設(shè)計。開發(fā)人員和解決方案架構(gòu)師的工作在于平衡由業(yè)務(wù)、最終用戶、
公司的IT 環(huán)境和管理基礎(chǔ)結(jié)構(gòu)、經(jīng)濟環(huán)境和用于構(gòu)建方案所使用的技術(shù)和工具等等所提出的需求和
限制,而這些需求和限制通常是相矛盾的。
?? ? ?然而有意思的是,隨著系統(tǒng)中新機會的產(chǎn)生和新要求的提出,這些需求和限制不斷演化,業(yè)務(wù)規(guī)
則的變化和新業(yè)務(wù)領(lǐng)域的拓展可以影響新的應(yīng)用程序和現(xiàn)有的應(yīng)用程序。隨著時間推移,用戶渴求更
豐富、更一致、更綜合的用戶體驗,隨之就會產(chǎn)生新的需求。或可能會出現(xiàn)新的IT 基礎(chǔ)結(jié)構(gòu)技術(shù),
以減少成本或提高可用性和可伸縮性。與此同時,會不斷出現(xiàn)新的技術(shù)、架構(gòu)和工具,旨在降低開發(fā)
成本,提供以前較難實現(xiàn)的應(yīng)用。
?? ? ?由此可見,要理解這些并同時要開發(fā)一個合時合算的有效解決方案是一件不容易的事情。這要求
開發(fā)人員和架構(gòu)師要考慮所有相競爭和重疊的因素(其中有一些是非技術(shù)的)占的比重,然后將它們
做出一個較合理的權(quán)衡。試圖將太多因素整合在一起,可能會導(dǎo)致解決方案過度開發(fā)并且非常復(fù)雜,
這樣的解決方案需要花很長時間來構(gòu)建并且可能仍然不能按時提交,或不能保證長效性和靈活性。另
一方面,如果考慮太少因素,也有可能會形成一個作用有限的,缺乏靈活性的、不易升級的臨時解決
方案,這樣的解決方案難以發(fā)展也不能很好地擴展。總而言之,開發(fā)人員和方案解決架構(gòu)師通常是游
走在“黃金方案”和“即時方案”之間。
?? ? ?對我來說,架構(gòu)就是利用現(xiàn)有的技術(shù)和工具來創(chuàng)造盡可能多的商業(yè)價值,一方面關(guān)注現(xiàn)有業(yè)務(wù)所
提出的需求和限制,另一方面著眼于未來通過可伸縮性、靈活性以及可維護(hù)性等方面最大化價值。準(zhǔn)
確解讀架構(gòu)原則和模式,有利于開發(fā)人員和解決方案架構(gòu)師更好地理解和關(guān)注架構(gòu)設(shè)計的整體設(shè)計過
程,以及可能會對整個方案的成敗產(chǎn)生重大影響的設(shè)計問題。擁有這些知識,他們可以做出更合理的
決策,更好地平衡相競爭或重疊的需求和限制,并確保解決方案不僅能達(dá)到或超過業(yè)務(wù)目標(biāo),同時還
能節(jié)約成本、兼具可擴展性、可維護(hù)性以及靈活性。
?? ? 微軟應(yīng)用架構(gòu)指南(第2版)
IV| 前言
?? ? ?您可能注意到,我同時提及了開發(fā)人員和解決方案架構(gòu)師,我認(rèn)為兩者都可以在充分理解了本指
南講述的架構(gòu)模式和架構(gòu)原則后獲益。有些人可能認(rèn)為細(xì)節(jié)實現(xiàn)比不上整體設(shè)計重要,但依我的經(jīng)驗
看來往往不是這樣的。一些小的決策隨著時間的推移會累積。實現(xiàn)層次的一些細(xì)節(jié)可能會對解決方案
的整體架構(gòu)(可伸縮性、可維護(hù)性及靈活性等方面)產(chǎn)生重大的影響,因此開發(fā)人員和解決方案架構(gòu)
師都需要充分理解實現(xiàn)細(xì)節(jié)。此外,開發(fā)人員和解決方案架構(gòu)師應(yīng)該達(dá)成共識,可以使兩者之間更好
的溝通,也有利于工作的開展。
?? ? ?該指南旨在提供應(yīng)用架構(gòu)和設(shè)計原則和模式的概述,以幫助您做出更好的決策和構(gòu)建更優(yōu)秀的解
決方案。該指南編排為可以從頭到尾閱讀,也可作為參考資料從文中直接選取您需要的章節(jié)來閱讀。
該指南的前半部分主要介紹能應(yīng)用到所有類型解決方案的普適架構(gòu)原則和設(shè)計原則,后半部分主要關(guān)
注常見應(yīng)用程序類型(例如Web 應(yīng)用程序、富客戶端應(yīng)用程序、或是移動應(yīng)用程序)以及描述了每
一種類型的典型架構(gòu)和關(guān)鍵設(shè)計考量。有可能您的特殊解決方案不能直接和某個應(yīng)用方案匹配,但是
它們能為您提供一個基準(zhǔn)架構(gòu),您可以在這個基準(zhǔn)架構(gòu)之上演化成您的特殊解決方案。該指南還提供
了一些有關(guān)如何找出您架構(gòu)中關(guān)鍵元素的建議,這樣您就可以不斷對它們進(jìn)行改進(jìn)。
?? ? ?該指南主要關(guān)注基于微軟平臺和.NET 框架開發(fā)的解決方案的指導(dǎo),因此包含了提供相關(guān)技術(shù)和
工具細(xì)節(jié)的參考文章和資源。不過您會發(fā)現(xiàn)底層的原則和模式適用于任何平臺。值得注意的是,本書
并不是一個針對應(yīng)用架構(gòu)和設(shè)計面面俱到的參考——如果是那樣的話可能就需要更大的一本書或者
分成多卷了——因此本指南旨在提供針對最重要主題的概覽及一些鏈接可以進(jìn)一步擴展更細(xì)節(jié)的或
更深的內(nèi)容。
?? ? ?應(yīng)用架構(gòu)和設(shè)計領(lǐng)域是動態(tài)的不斷變化的。在過去基于這些基本原理已經(jīng)產(chǎn)生了很多成功的解決
方案,在將來這些基本原理同樣能為我們所用。但是我們?nèi)匀粦?yīng)該期望變革的步伐不會停滯,不管是
在技術(shù)方面還是新的設(shè)計方式方面。微軟平臺和.NET 框架、一系列技術(shù)以及這些技術(shù)支持的各種應(yīng)
用場景既深入又廣泛,并且會越來越深入和廣泛。不過,我們不需要等待將來的東西。現(xiàn)在就可以開
始構(gòu)建令人稱道的、有價值的解決方案,希望本指南會幫您完成這個工作。
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?David Hill?
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 模式和實踐團隊
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2009 年9 月
擴展閱讀:
1.Bop的豆瓣主頁:http://book.douban.com/subject/3004255/
2.互動網(wǎng)購買鏈接:http://www.china-pub.com/38070
3.“《編程之美》,IT人求職面試必讀”鏈接:
http://www.google.com.hk/search?complete=1&hl=zh-CN&newwindow=1&q=編程之美+-+微軟技術(shù)面試心得+鄒欣&meta=&aq=f&oq=
?
轉(zhuǎn)載于:https://www.cnblogs.com/bvbook/archive/2010/11/03/1867772.html
總結(jié)
以上是生活随笔為你收集整理的《微软应用架构指南》前言的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 光脚丫学LINQ(005):数据表之间的
 - 下一篇: 整理分析自己的软考过程