《ASP.NET辦公自動化系統開發執行個體導航》筆記一

來源:互聯網
上載者:User
一本厚厚的書,由於只是講一個系統,比較詳細,所以拿過來看看,不過也發現此系統的N多問題,不過我們應該取其精華,去齊糟粕嘛。

這本書主要是講一個.NET的B/S OA系統,整體來說大部分還是運用了.NET思想,少部分有點問題,但是不影響其整體優秀的思想。其中可以學到大量的編程技巧。

這裡先看到第一部分:前兩章。

架構設計心得:
1.對於複雜的系統,我們可以分模組;可以分為多級模組,大模組包含小模組。在資料表的具體表現就是把所有的小模組放在一起,每個模組會有自己的一些屬性。比如此系統的模組基本資料表:

欄位名 描述
pkid 主鍵(自動增加)
tabid 一級ID
indexid 二級ID
name 模組名稱
description 模組描述
url 模組頁面路徑

2.許可權的問題也變得比較重要。首先,每個使用者必須屬於某個“角色”,而每個角色對於每個模組又會有相應的代碼。這是一種處理許可權的標準思路,也就是說,分為使用者表(包含每個使用者的所屬角色)、角色模組許可權表。這樣,便可以處理複雜的許可權關係。

3.這個系統分為了四個層:通用層、資料層、邏輯層、展示層(Web)。設定通用層是比較必要的,可以放置許多需要調用的函數(比如判斷某項是否為空白)。

4.最好能把一系列相關的資訊歸併成類。比如資料層或邏輯層有一個日誌操作類,專門用於對日誌寫入和讀取等等操作。這樣,可以用幾個方法來實現。但是,一個操作分為很多項,比如操作人ID,姓名,操作時間等等。這些資訊是否也可以歸併為一類呢?可以,所以我們可以在通用層中建立一個類,這個類主要是用成員屬性來歸併資訊,這樣可以加強結構化。(其實這種類本身就和結構差不多,也不需要方法等複雜操作)

5.可以充分利用儲存結構中的返回參數來傳回值(即param output)。調用他的方法很簡單,首先和一般參數一樣,定義一個參數,宣告類型為output,然後執行該Command後,直接取出該Param的值即可。如:SqlParameter parameterEmpID = new SqlParameter("@empid", SqlDbType.Int, 4);
parameterEmpID.Direction = ParameterDirection.Output;    //對輸出參數的處理很簡單,指明為輸出參數即可.運行命令後就可以直接取它的值param.Value.
myCommand.Parameters.Add(parameterEmpID);
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
string result = parameterEmpID.Value;
//上面的result即為我們所要求的返回參數值

6.頁面基類。這是ASP.NET物件導向思想的核心應用,如果一個.NET B/S系統沒有使用基類根本就不算是.NET程式。所有模組的WEB頁面都要繼承基類PageBase,它提供WEB頁面所需要的基本資料和相關服務,比如登入使用者資訊、使用者存取權限、動作記錄、分頁錯誤處理。這樣的好處很明顯,每個繼承了此基類的頁面可以直接調用這些資訊,比如可以簡單的實現當前頁面位置資訊,許可權管理等等。同時,也加強了靈活性,如果要增減頁面特性,只需要在PageBase裡修改,所有頁面都會相應增減特性。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.