序列化就是將對象處理爲字節流以存儲對象或傳輸到內存、數據庫或文件。其主要的目的是保存對象的狀態,以即可以在須要時從新建立對象。相反的過程稱爲反序列化。程序員
https://msdn.microsoft.com/zh-cn/library/ms233843(v=vs.120)數據庫
三、設計模式
設計模式是針對平常軟件開發問題的技巧、通用和可複用的解決方案,程序員能夠經過設計模式組織程序中的對象,使其易於編寫和修改,以提升代碼效率。——《C#設計模式》框架
全部設計模式的實現都遵循一條原則,即「找出程序中變化的地方,並將變化封裝起來」。
一個程序的設計老是能夠分爲可變的部分和不變的部分。當咱們找出可變的部分,而且把這些部
分封裝起來,那麼剩下的就是不變和穩定的部分。這些不變和穩定的部分是很是容易複用的。這
也是設計模式爲何描寫的是可複用面向對象軟件基礎的緣由。 ——《JavaScript設計模式與開發實踐》
spa
建立型:規定了建立對象的方式;設計
結構型:規定了如何組織類和對象;對象
行爲型:規定了對象之間交互的方式;blog
五、繼承
建立型模式是建立對象而不是直接實例化對象,這會使程序在判斷給定狀況下建立哪個對象時更爲靈活。接口
結構型模式能夠將一組對象組合成更大的結構,例如複雜的用戶界面或報表數據。
行爲模式定義系統內對象間的通訊,以及複雜程序中的流程控制。
設計模式更關注於複用可重複出現的結構設計方案,而框架注重於具體設計和實現。
七、面向過程的程序設計和麪向對象(OO)的程序設計的主要差異在於類的出現。
八、接口的優勢是它提供了一種讓一個類成爲兩個類的子類的方式:一個是繼承,一個來自子接口,若是實現該接口的類漏掉了一個接口方法,編譯器會產生錯誤。(這樣就硬性保證了標準了)
九、Linq 查詢返回類型有IEnumerable 和 IQueryable(以及他們的泛型IEnumerable<T> IQueryable<T>)
IEnumerable先出現,後來因爲.NET 版本升級,出現Linq ,IQueryable 就繼承了IEnumerable全部的功能。
IEnumerable會加載全部數據到內存,在篩選須要的。IQueryable只會加載須要的數據到內存。
若是表數據少,能夠直接所有加載,好比用於存系統配置功能的系統表能夠用IEnumerable。
若是是業務數據表,能夠按需加載,使用IQueryable,節省帶寬資源和內存。
DAO叫數據訪問對象 DTO (Data Transfer Object) 是數據傳輸對象 DAO一般是將非對象數據(如關係數據庫中的數據)以對象的方式操縱。 DTO一般用於不一樣層(UI層、服務層或者域模型層)直接的數據傳輸,以隔離不一樣層,下降層間耦合