PetShop3 x學習筆記1 Model

2021-04-02 18:25:22 字數 2854 閱讀 4374

一、

model主要功能:

1、將每乙個「業務實體」抽象成「(瘦資料)類」,可以很好地「劃分」各個「物件」,操作更加清晰 2、

用於在應用程式各層之間傳遞資料,被用做傳輸資料的「容器」 3、

這就是所謂的「建模」過程! 4、

model

各個類(

model

資料夾中的各個檔案)劃分或者說編制的原則,更趨向於模擬整個系統中的業務實體

二、

實現細節:

1、petshop

中model

的規劃與資料庫表的關係:

(1)

accountinfo

類——account表

(2)addressinfo

類——無直接對應關係(對應

account

表中一部分字段)

(3)

cartiteminfo

類——無直接對應關係

(4)

creditcardinfo

類——無直接對應關係

(5)

iteminfo

類——item表

(6)lineiteminfo

類——無直接對應關係

(7)

orderinfo

類——orders表

(8)productinfo

類——product表

2、為每乙個

model

中的類都標記了

[serializable]

,說明這些類可以被傳行化,但是不能被繼承! 3、

accountinfo.cs

檔案:使用者在**註冊的資訊,及喜好選擇情況 4、

使用建構函式可以初始化私有字段;使用屬性可以讀取私有字段(但使用屬性不能設定私有欄位的值) 5、

其中包含乙個

addressinfo

類的私有變數,和乙個

addressinfo

類的屬性 6、

命名空間為

petshop.model

7、addressinfo.cs

檔案:使用者真實的個人姓名、住址和**號碼等資訊 8、

與accountinfo

不同的是,

addressinfo

類允許使用屬性設定私有變數的值 9、

cartiteminfo.cs

檔案:描述購物車中每一種所選商品的資訊的類

10、

該「類」物件的某些資訊(如這裡的

subtotal

屬性)可能並不是此類的「自然資訊」,而需要經過簡單計算而得到!這些簡單但必要的資訊也要在類的設計中體現出來!

11、

creditcardinfo.cs

檔案:表示特定一張信用卡的資訊

12、

iteminfo.cs

檔案:乙個item指的是category/product/item,如貓/波斯貓/成年男波斯貓(或成年女波斯貓)。這個檔案表示乙個

item

的所有資訊

13、

productdesc

欄位的作用?

14、

lineiteminfo.cs

檔案:注意與

cartiteminfo

類的區別!

lineiteminfo

是用來描述使用者最終確認的訂單當中的某一種類的產品的資訊的類

15、

同樣包括了

subtotal屬性

16、orderinfo.cs

檔案:用於顯示使用者某乙個訂單具體資訊的類,在此乙個訂單當中,可能包括多個商品種類,即包括多個

lineiteminfo

物件(實際上在

orderinfo

類中也確實存在

lineiteminfo

型別物件的乙個陣列!)

17、

productinfo.cs

檔案:包括乙個特定

product

的資訊,如波斯貓

三、

啟發:

1、來自

directory

專案結束後的啟發,以後做設計的時候,要將每個實體抽象為乙個類,在整個系統中進行操作。 2、

在任意乙個類當中,可能不只包括此實體類的自然資訊,也可以包括一些對其他地方資料呼叫有用的屬性資訊,如根據數量和單價計算出來的總價屬性,或者標誌此實體的直屬上級實體的屬性

四、

問題:

1、忽然發現在

msdn

上有文章,關於資料實體的:

瀏覽2、

抽象這些業務實體模型為瘦資料類的原則是什麼?什麼樣的業務實體可以被抽象,或者說進行抽象後更有意義? 3、

iteminfo

類中,productdesc

欄位的作用?

PetShop3 x學習筆記1 Model

一 model主要功能 1 將每乙個 業務實體 抽象成 瘦資料 類 可以很好地 劃分 各個 物件 操作更加清晰 2 用於在應用程式各層之間傳遞資料,被用做傳輸資料的 容器 3 這就是所謂的 建模 過程!4 model 各個類 model 資料夾中的各個檔案 劃分或者說編制的原則,更趨向於模擬整個系統...

PetShop3 x學習筆記3 Utility

一 utility主要功能 1 一組幫助器類,包含 dpapi 的包裝 不理解 2 有一組負責加密和解密的公共方法 3 使用了crypt32.dll 和kernel32.dll 中的方法 4 在connectioninfo 類中使用了兩個方法,分別用於加密和解密資料庫連線字串 5 utility中的...

錯誤日誌的新增,每個日誌的大小為1M,迴圈30次。

定義 const dword g errlog file size 1024 1024 1m const dword g errlog file num 30 file num dword current file num 1 dword g current log size 0 file g er...