(翻譯).NET應用架構

.NET應用架構

Kalyan Bandarupalli著,hystar翻譯

這個系列文章將幫助.NET開發人員與架構師使用最新的.NET技術設計高效的.NET應用。關于應用架構這方面雖然已有很多文章與書籍,但是對于設計人員理解應用設計的最佳的原則與實踐仍然是具有挑戰性的。這篇文章闡述了應用架構的基本概念與原則。

介紹

????這個系列文章將幫助.NET開發人員與架構師使用最新的.NET技術設計高效的.NET應用。關于應用架構這方面雖然已有很多文章與書籍,但是對于設計人員理解應用設計的最佳的原則與實踐仍然是具有挑戰性的。

這篇文章闡述了應用架構的基本概念與原則。

?

什么是應用架構?

????通過優化性能,安全及可管理性來定義一個滿足技術及可選需求的解決方案。

?

為什么要進行架構?

????軟件必須構建在嚴密的考慮之上,沒能滿足關鍵場景或沒能理解設計問題將導致一個較長的設計周期。應用需要實現以下目標:

  • 最終用戶怎樣使用你的程序?
  • 與安全,性能,并發,全球化與配置相關的質量指標。
  • 什么樣的架構適合你現在的這個程序及其將來部署后的情況。

?

架構的目標

應用架構建立了商業需求與技術需求之間的橋梁。好的架構可以解決與解決方案相關的業務風險。

  • 系統的結構而不是實現的細節
  • 用例場景
  • 關注基礎支持層
  • 功能及質量需求

?

設計架構的途徑

你必須決定你正在構建的應用的類型以及將要被用于橫切技術等用途的架構風格。

  • 識別應用的類型
  • 應用應該怎樣部署?
  • 快速評審架構樣式與技術
  • 考慮質量特性及橫切關注點

?

應用類型

架構與設計的關鍵部分是識別應用的類型。應用的類型可以是

  • 被設計用于運行在客戶端PC上的富客戶端應用
  • 富Inernet應用
  • 被設計用于支持松耦合組件之間通信的SOA應用。
  • 智能客戶端應用

?

部署策略

????當你設計你的應用時,你必須規劃基礎架構以滿足應用的部署要求。你的應用必須可以適應環境中存在的任何限制。在設計過程的早期就要識別基礎架構。

?

架構樣式

????架構樣式是一套我們應該在組件設計以及后期的應用中使用的策略與方針。

????架構樣式的例子包括:

1. 客戶端-服務器

2. 分層架構

3. MVC

4. SOA

?

橫切點

????這些關注點是你設計過程中非常核心的問題,它們往往不僅關系應用的某一層。當你設計你的應用時你必須考慮一下關注點。

驗證:決定怎樣驗證用戶以及怎樣在多層之間傳遞身份信息。

授權:確保在每一個信任區域內有且恰當的授權。

緩存:識別緩存什么以及緩存在哪里來提高應用的性能及相應性。

通信:選擇適當的協議來保護敏感數據在網絡的傳輸。

異常管理:在邊界捕獲異常,并提示給終端用戶充足的信息。

統計與記錄:統計所有的業務及系統核心事件并記錄詳細的信息。不要記錄敏感信息。

?

結論

????這篇文章解釋了應用架構的基礎,在本系列下一篇中我將解釋架構與設計的原則。

?

本人才疏學淺,難免出現翻譯錯誤,請不吝賜教。

?

出處:https://www.cnblogs.com/lsxqw2004/archive/2009/09/23/1572664.html

轉載于:https://www.cnblogs.com/mq0036/p/10534056.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449612.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449612.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449612.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

activity idea編寫bpmn流程文件

idea 的bpmn插件支持不好&#xff0c;1、畫流程圖&#xff0c;注意排他網關流程的條件&#xff0c;2、復制一份xml文件出來&#xff0c;頭部替換&#xff1a;<?xml version"1.0" encoding"UTF-8"?> <definitions xmlns"http://www.omg.org…

tushare寫三因子模型

CAPM模型經歷了大量的實證和應用之后&#xff0c;有證據表明&#xff0c;市場風險溢酬并不能充分解釋個別風險資產的收益率。于是很多研究者開始探索其他的因素&#xff0c;比如公司市值、PE、杠桿比例、賬面市值比等。Fama和French兩個人對于各種因素進行了全面的組合分析&…

Duplicate entry ‘XXX‘ for key

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 報錯如題&#xff1a;Duplicate entry XXX for key 意思是說有唯一約束&#xff0c;所以不能重復。 而我的情況是&#xff0c;有兩個表…

list c++template

以一個現成的模板實現了線性表的順序結構實現&#xff0c;VC6.0調試OK 請大家以開源的方式來完善這個算法 &#xff0c;以跟貼方式來添加代碼 請大家往這個下面繼續添加完整的可以運行的線性表的順序結構實現代碼 /* 線性表的順序結構實現&#xff0c;數組C實現法&#xff0c;V…

聊聊composer.lock

composer.lock 即鎖定文件 其中會存在項目中所有的依賴包&#xff0c;方便協同合作時都得到同樣的以來版本 composer install 命令從當前目錄讀取 composer.json 文件&#xff0c;處理依賴關系&#xff0c;并把依賴安裝到 vendor 目錄下。 如果當前目錄下存在 composer.lock 文…

如何保證MongoDB的安全性?

上周寫了個簡短的新聞《MongoDB裸奔&#xff0c;2億國人求職簡歷泄漏&#xff01;》&#xff1a; 根據安全站點HackenProof的報告&#xff0c;由于MongoDB數據庫沒有采取任何安全保護措施&#xff0c;導致共計202,730,434份國人求職簡歷泄漏。然后很多人評論說MongoDB躺槍了。 …

LXC是什么

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。Linux Container容器是一種內核虛擬化技術&#xff0c;可以提供輕量級的虛擬化&#xff0c;以便隔離進程和資源。LXC為Linux Container的簡…

C++ 標準庫 vector list map使用方法

[cpp] view plaincopyList&#xff08;鏈表&#xff09; List將元素按順序儲存在鏈表中. 與 向量(vectors)相比, 它允許快速的插入和刪除&#xff0c;但是隨機訪問卻比較慢.list對象函數 assign() 給list賦值 back() 返回最后一個元素 begin() 返回指向第一個元素的迭代器…

導航守衛

導航守衛 to 準備跳轉到哪個頁面 from 從哪個頁面中離開 next 函數 全局守衛 router.beforeEach((to,from,next) > {if(to.path /login || to.path /register){    next();}else{    alert(先登錄)    next(/login)} }) 組件守衛 data () {  return{   …

Django中使用Pagination的分頁范例源碼

將做工程過程重要的內容做個珍藏&#xff0c;下面代碼內容是關于Django中使用Pagination的分頁范例的代碼。 from django.core.paginator import Paginatorobjects [john, paul, george, ringo]p Paginator(objects, 2) p.count4p.num_pages2p.page_range[1, 2] page1 p.pag…

Docker:集裝箱式“運輸”在軟件上的實現

Docker是由PaaS提供商dotCloud在2013年年初創建的一款開源應用引擎&#xff0c;Docker可以自動將任何應用打包成輕量、可移植、自包涵的容器引擎。開發者構建的應用可以一次構建全平臺運行&#xff0c;包括本地開發機器&#xff0c;生產環境&#xff0c;虛擬機和云等。 Docker基…

CAMP選股

挑選五只股票&#xff1a;萬科A、中國平安、貴州茅臺、萬華化學和科大訊飛&#xff0c;然后我們以滬深300作為市場基準。import pandas as pd import tushare as ts # 獲取數據 pro ts.pro_api() wanke pro.daily(ts_code000002.SZ, start_date20170101) pingan pro.daily(t…

大二下周總結(三)

記錄時間第三周所花時間&#xff08;包括上課&#xff09;13h代碼行500博客量2所了解到的知識點html java-script java本周用在練習代碼的時間自己感覺還可以&#xff0c;由于在第二周課堂練習后覺得自己有許多不足&#xff0c;所以有了必須奮進的壓力。 除了編寫代碼能力的提高…

C讀寫ini文件

/* read/write ini file with c function file testini.c chinayaosir blog: http://blog.csdn.net/chinayaosir connect.ini [database] 此程序有些BUG 當ini文件不存在時&#xff0c;第一次建立connect.ini文件時&#xff0c; 在[database]前面會多一個空格. */ #include…

包含天,時,分,秒的倒計時

這個很基礎的東西寫的過程中出了很多小的錯誤&#xff0c;在此記錄一下。 原生的js。 結構&#xff1a; <p id"time"></p> js: <script>  var start new Date().getTime(); // 獲取開始時間  var end new Dat…

計算相關度

# 使用numpy import numpy as np R [0.01, 0.05, 0.02, -0.03] var1 np.var(R) std1 np.std(R) # # 使用pandas import pandas as pd R pd.Series([0.01, 0.05, 0.02, -0.03]) var2 R.var() std2 R.std() import pandas as pd import tushare as ts pro ts.pro_api() w…

如何使用Dockerfile構建鏡像

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Dockfile是一種被Docker程序解釋的腳本&#xff0c;Dockerfile由一條一條的指令組成&#xff0c;每條指令對應Linux下面的一條命令。Doc…

今時今日,C還適合當下之所需么?

本文來源于我在InfoQ中文站翻譯的文章&#xff0c;原文地址是&#xff1a;http://www.infoq.com/cn/news/2013/01/C-Language 來自Couchbase的Damien Katz認為C依然是非常適合于后端編程的一門語言&#xff0c;然而有的開發者則覺得C有太多的瑕疵&#xff0c;他們支持C或是Java…

《吳軍.科技史綱60講》摘錄

本文由Markdown語法編輯器編輯完成&#xff0e; 《科技史綱60講》是吳軍老師最新開設的專欄名稱&#xff0c;該專欄主要是講解人類文明和科技發展史。吳軍老師在專欄的發刊詞《歷史總在重演&#xff0c;科技永遠向前》中提到&#xff0c;能量和信息是貫穿人類文明發展的兩條線索…

API Gateway——KONG簡單入門

一、簡介 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Kong&#xff0c;是由Mashape公司開源的&#xff0c;基于Nginx的API gateway。 二、特點 可擴展&#xff1a;支持分布式 模塊化…