1. 程式人生 > >.net 部分概念總結

.net 部分概念總結

介面技術

WebService是一種跨程式語言和跨作業系統平臺的遠端呼叫技術。

 wCF是面向服務的應用提供的分散式通訊程式設計框架

web api  是構建HTTP服務的輕型框架,覆蓋廣泛的客戶端, RESTful風格

 

LINQ

LINQ,語言整合查詢,查詢資料庫相同的方式操作記憶體資料。

 

lambda 表示式是一個可用於建立委託或表示式樹型別的匿名函式。

 

ef : 支援面向資料的應用程式的技術的ORM框架

ORM指的是面向物件的物件模型和關係型資料庫的資料結構之間的相互轉換。

 

Redis是的Key/Value的記憶體資料庫:

委託是一種可以封裝命名(或匿名)方法的引用型別,把方法當做指標傳遞,但委託是面向物件、型別安全的;

事件基於委託,提供釋出訂閱機制,事件是物件或類發生改變,物件或類發出資訊通知訂閱者。

事件是特殊的委託,通過多播委託的方式被多個方法訂閱,當事件觸發,響應處理方法將會被引用(概念)

事件特殊:

1事件沒有返回值,必須代兩個引數

2事件是多點委託,或叫多播。即+= 而不能 =

3 能用到委託的地方未必都能用事件替代,用到事件的地方必然可以用委託替代。

 

索引器允許類或結構的例項按照與陣列相同的方式進行索引。索引器類似於

屬性,不同之處在於它們的訪問器採用引數 

三層架構:

資料訪問層:對資料庫的操作

業務邏輯層:對資料業務邏輯處理

介面層:互動介面

目的即為了高內聚低耦合

任何一層發生變化都不會影響到另外一層!!!

優點

1 只關注其中一層

2 新的實現替換某一層

3 可重用

4 可維護

5 可擴充套件

缺點

1 降低效能

2 開發成本高

3 導致聯級修改

 

MVC和三層區別

三層是基於業務邏輯來分的,而mvc是基於頁面來分的

三層模式是體系結構模式,MVC是設計模式

三層模式又可歸於部署模式,MVC可歸於表示模式

索引器與屬性的區別:

  • 索引器以函式簽名方式 this 來標識,而屬性採用名稱來標識,名稱可以任意
  • 索引器可以過載,而屬性不能過載。
  • 索引器不能用static 來進行宣告,而屬性可以。索引器永遠屬於例項成員,因此不能宣告為static。

以字串作為下標,對索引器進行存取:

僅當成員(屬性or索引器)既有get訪問器也有set訪問器時,其訪問器才能有訪問修飾符

 

值型別大多分配在棧上,引用型別都分配在堆上;

棧由作業系統管理,棧上的變數在其作用域完成後就被釋放,效率較高,但空間有限。堆受CLRGC控制;

棧是基於執行緒的,每個執行緒都有自己的執行緒棧,初始大小為1M。堆是基於程序的,一個程序分配一個堆,堆的大小由GC根據執行情況動態控制;

 

棧和佇列的區別?

(1).佇列先進先出,棧先進後出。

(2).  棧是限定只能在表的一端進行插入和刪除操作的線性表。     

佇列是限定只能在表的一端進行插入和在另一端進行刪除操作的線性表。  

(3).遍歷資料速度不同。棧只能從頭部取資料, 得為資料開闢臨時空間。保持資料在遍歷前的一致性。

佇列則不同,它基於地址指標進行遍歷,無需開闢臨時空間,速度要快的多

4 .應用場景不同; 函式呼叫和遞迴實現等;常見的佇列的應用場景包括 訊息緩衝器的管理等。