Share via


本文章是由機器翻譯。

工具箱

資料庫文件、前置條件與後置條件的 API、部落格及其他

Scott Mitchell

按一次資料庫文件

我生涯過程中,我曾經看過各種不同的技術用於記錄結構及資料庫的用途。 大部分的開發人員使用 Microsoft SQL Server ’s 資料庫圖表工具來產生一個圖示表示,並再呼叫 it a day。 雖然這是很好的第一個步驟,但卻很少足夠。 比方首先與其他共同工作人員共用資料庫圖表可能很難最佳。 (我有一個電子郵件傳送我的用戶端數十個螢幕擷取畫面,一起,stitched 由組成一個大型的資料庫圖表)與這類圖表通常小於適合大型資料庫 ; 圖表,顯示數百個資料表就很難閱讀並了解。

當資料庫圖表中確實有用時有更好的工具,記錄您的資料庫。 這類的一種工具為 BI 文件產生器 (版本 3.0) 易於使用的應用程式的自動產生 Microsoft SQL Server 資料庫的說明文件。 若要快速入門啟動商業情報文件產生器,並建立方案檔。 方案檔案指定到文件中,以記錄資料庫,並維護的快照集歷程記錄。 快照集是及時資料庫 ’s 結構在特定時點的描述,並為您產生由商業情報文件產生器。 透過專案的壽命,資料庫 ’s 結構描述通常會變更,有時明顯 — 新的資料表取得新增、 修改或移除,現有的資料行取得索引可能會加入或卸除。 這些快照集確保今天建立文件可以完全重現在未來。 產生文件時, 您可能可以建立新的快照集目前的資料庫結構描述的或您可以重新產生從先前的快照集說明文件。


商業情報文件產生器

選取資料庫以文件,並建立快照集後, 沒那麼保留在原來是設定文件選項。 商業情報文件產生器可以建立已編譯的 HTML 說明的檔案 (.chm) 或一系列的 HTML 網頁。 有來自訂在文件和能力,可用來為每個畫面加上一個標誌的色彩設定。 您可以選擇性地選取何種資料庫物件類型的文件和哪些省略。 該怎麼辦 ’s 更 BI 文件產生器包括內建的資料庫圖表化的工具可用來建立及新增資料庫圖表說明文件。 另外您可以匯入您自己的 Microsoft Word 和影像檔。

產生的文件包含其中包含使用者、 角色、 索引、 觸發程序、 資料表,以及更多的指定的資料庫的物件的詳細的清單。 檢視特定資料表的相關資訊會列出該資料表 ’s 資料行、 觸發程序、 索引、 條件約束、 擴充屬性的相依性和建立資料表所需的 SQL 陳述式。 資料表 ’s 資料行、 觸發程序及其他資訊時,會顯示時按下連結的載入與取得進一步的詳細資料網頁。

商業情報文件產生器功能於三個版本:資料庫、 企業及工作群組。 Database 版可以只有文件 Microsoft SQL Server 資料庫,雖然企業和工作群組版可以也記載分析服務資料庫、 整合服務套件與報表服務的伺服器。 資料庫和專業版讓單一使用者建立 「 文件,而工作群組版可讓多位使用者同時進行協同合作。

價格: $ 195 針對Database 版、 企業版為 $ 395、 為工作群組版 $ 495
bidocumenter.com

值得推薦的部落格

我最近曾涉及將新功能加入至現有的商務的 Windows Presentation Foundation (WPF) 應用程式的專案。 該專案中我期間,我發現是 indispensible 資源的 Beth Massi ’s 部落格。 Beth 是針對 Visual Studio 社群小組,在 Microsoft 的程式管理員 」。 在她的部落格和 Microsoft ’s 頻道 9 的網站 ( channel9.msdn.com ),然後瀏覽主題像 LINQ,Entity Framework、 WPF,ADO.NET 資料服務和 Microsoft Office 的開發,她已經建立許多祕訣、 竅門、 視訊、 文章及教學課程。

大部分的部落格內容 Beth ’s 描述特定的程式設計案例,並再說明如何解決 lucid 的逐步指示,許多的螢幕擷取畫面和程式碼片段與部落格文章以及具有更多資訊的文章連結。 比方說部落格項目標題為 「 主要-詳細資料繫結在 WPF 使用 Entity Framework 」 會啟動查核讀者閱讀建立Entity Data Model。 Beth 再示範不同的方式使用 LINQ 來提取適當的詳細資料記錄。 其他部落格內容所撰寫的類似的樣式包括 「 使用 TableAdapters MS Access 資料庫中插入相關的資料 」 及 「 清點的資料列進行一個符合的條件 」 還有許多其他。

有何 Beth ’s 部落格脫穎而出是 Visual Basic 她熱情。 所有 Beth ’s 程式碼範例都是在 VB 中,且她經常回傳有關即將來臨的語言] 功能如 Visual Basic 10] 中的集合初始設定式的支援。 她也受訪數個 Microsoft MVP 正在使用詢問關於應用程式它們建置他們的最愛的語言功能的 VB 並等等。 在通道 9 ( channel9.msdn.com/tags/MVP ) 和 「 我 ’m 一個 VB 」 Web 站台, imavb.net ,可以看到這些訪談 (和其他類似它們)。

blogs.msdn.com/bethmassi


Beth Massi 部落格

Fluent 的 API pre-和 post-conditions

它在呼叫某個方法時所預期它處於特定狀態之前,其執行的環境 ; 它可能也假設某些條件保留一旦執行完成。 這些假設會稱為 pre-conditions 和 post-conditions。 pre-conditions 通常套用到方法 ’s 輸入參數。 比方說在.NET Framework 中 [檔案] 類別 ’s ReadAllText 方法接受做為輸入檔的路徑並傳回為字串檔案的內容。 inputted 的檔案路徑不能為零長度] 字串包含只有泛空白字元字元或包含任何無效的檔案路徑字元 ; 不能是 null ; 且其長度不能超過系統定義最大檔案的路徑長度。 如果任何這些先決條件都不符合 ReadAllText 方法會擲回例外狀況。

前和 post-conditions 通常會實作使用一系列的條件陳述式,如 的 圖 1 所示。 CuttingEdge.Conditions (版本 1.0) 由 Steven 貨車 Deursen 啟動一個開放原始碼專案提供一個 fluent 介面指定前的並 post-conditions。 (fluent 介面是最大化,透過的使用描述性的名稱和方法鏈結的可讀性的 API 設計樣式)。

圖 1 Pre-和 Post-Conditions 已實作使用條件式寫法

public string ReadAllText(string path)
{
      // Pre-conditions...
      if (path == null)
            throw new ArgumentNullException(...);
      if (path.Length == 0)
            throw new ArgumentException(...);
      if (IsOnlyWhitespace(path) ||
            ContainsInvalidCharacters(path))
            throw new ArgumentException(...);
      if (path.Length >
            GetMaximumFilePathLength())
            throw new PathTooLongException(...);

      // Open file and read and return contents
            as string...
      object contents = GetFileContents(path);

      // Post-conditions
      if (!contents is string)
            throw
                  new InvalidFileTypeException(...);
      if (string.IsNullOrEmpty(
            (string) contents))
            throw new EmptyFileException(...);
}

若要在輸入的參數、 屬性或變數上套用一個先決條件,使用 [需要延伸方法 ; 對於 post-conditions,使用確認延伸方法。 這兩種方法傳回一個具有可用的方法來套用規則檢查,例如 IsNotNull、 IsNotEmpty 和 IsEqualTo,還有許多其他主機的驗證程式物件。 圖 2 顯示為 圖 1 相同的方法,但使用 CuttingEdge.Conditions API 來實作前並 post-conditions。

圖 2 Pre-並已實作使用 CuttingEdge.Conditions Post-Conditions

public string ReadAllText(string path)
{
      // Pre-conditions...
      path.Requires()
            .IsNotNull()
            .IsNotEmpty()
            .Evaluate(!IsOnlyWhitespace(path)) &&
                  !ContainsInvalidCharacters(path),
                  "path contains whitespace only or
      invalid characters")
            .Evaluate(p => p.Length <=
                  GetMaximumFilePathLength());

      // Open file and read and return contents
      // as string...
      object contents = GetFileContents(path);

      // Post-conditions
      contents.Ensures()
            .IsOfType(typeof(string))
            .IsNotNull()
            .IsNotEmpty();
}

每個驗證程式方法呼叫 — IsNotNull IsNotEmpty,等等 — 如果條件不符合,就會擲回例外狀況。 比方說如果路徑是空值,IsNotNull 方法呼叫就會擲回一個 ArgumentNullException。  您可以選擇性地提供要做為例外狀況 ’s 訊息字串。

有時候前或 post-condition 無法使用驗證程式類別 ’s 內建方法之一來表示。 在此情況下,您會有兩個選項。 您可以驗證程式類別上建立一個延伸方法,或者您可以使用可讓您指定要評估的布林值或 Lambda 運算式在評估方法。 如果運算式傳回 true,處理繼續 ; 如果傳回,則為 False 則會擲回例外狀況。 圖 2 說明 pre-conditions 區段中使用兩種形式的評估方法。

價格: 免費,開放來源
conditions.codeplex.com

出版品介紹

ASP.NET MVC 是相當新架構,加入至 ASP.NET 堆疊,讓開發人員建立使用模型檢視控制程式 (MVC) 模式的 Web 應用程式。 它不同於傳統的 Web Form 開發模型,在許多方面。 比方首先 ASP.NET MVC 提供更進一步控制呈現的標記,並提供更明確分離問題。 網頁是用簡要、 SEO 易記的 URL 存取的。 並 MVC 架構允許較佳的可測試性。 ASP.NET MVC 和 Web Form 之間的差異將更深入探討,請參閱 Dino Esposito ’s 發行項在七月 2009年問題 ( msdn.microsoft.com/magazine/dd942833.aspx )。

使用者入門 ASP.NET MVC 即使針對有經驗的 ASP.NET 開發人員涉及學習曲線有點由於的兩個架構之間許多的差異。 比方說在 Visual Studio 中建立 ASP.NET MVC 應用程式時, 提示您建立單元測試專案。 使用 ASP.NET MVC 設計與一些 Helper 類別一起使用 HTML 網頁 — 若要拖放到頁面沒有 Web 控制項。 而且會與 Web Form 不同的是有不確定的回傳或 Web 控制項事件模型。 在短有很多新技術,以了解移動從 Web Form ASP.NET MVC 時。

如果您是經驗豐富的 ASP.NET 開發人員想要瞭解 ASP.NET MVC、 簽出提夫 Walther ’s 最新書籍,「 ASP.NET MVC Framework Unleashed 」 (Sams 2009) 至中級。 Walther 不會引入新的概念,並顯示使用方式的絕佳工作 — 而不充斥與資訊的雪崩讀取器。


ASP.NET MVC Framework 登場

本書開頭 ASP.NET MVC 簡短的概觀 — 新架構、 設計目標和優點背後動機。 接下來 500 頁面帶領讀者閱讀一次的 ASP.NET MVC 重要層面。 讀取器學習如何在 Visual Studio 中如何建立新的 ASP.NET MVC 應用程式的第一次,加入資料庫方式模型、 檢視和控制站會加入至專案等。 接下來 100 個網頁瀏覽模型]、 [檢視] 和 [詳細資料的控制站。 每個概念清楚地說明,以及伴隨在 C# 和 Visual Basic 中的螢幕擷取畫面和程式碼範例。 後面的章節查看可用的 HTML 協助程式 ; 探索技術來驗證表單資料,並介紹 ASP.NET MVC ’s URL 路由功能。 另外還有驗證、 AJAX、 jQuery 和部署章節。

檢驗過的 ASP.NET MVC 核心片段中以詳細資料,和幾個簡單練習協助的不同章節之後活頁簿完成以建置真實世界 ASP.NET MVC Web 應用程式的端對端範例。 分散到 150 頁面這個最終專案 cements 探究先前章節中的概念,會反白顯示許多 ASP.NET MVC 架構的優點

價格: $49.99
samspublishing.com

Scott Mitchell , 作者的許多書籍和 4GuysFromRolla.com ,founder 是有自 1998年之後使用的 Microsoft Web 技術的 MVP。 嘉玲是獨立的顧問、 訓練和寫入器。 到達他在 Mitchell@4guysfromrolla.com 或透過他的部落格,在 ScottOnWriting.net 也一樣。