Share Code Web - Chia sẻ niềm đam mê bất tận > Lập trình > ASP/ASP.Net > Học Asp.net qua project cụ thể – Online Diary – Ngày 2
Học Asp.net qua project cụ thể – Online Diary – Ngày 2
Nguyễn Trung Hiếu
Share Code Web Company 2012

Học Asp.net qua project cụ thể – Online Diary – Ngày 2

Học Asp.net qua project cụ thể – Online Diary – Ngày 1 đã giới thiệu với các bạn những gì chúng ta sẽ làm được, và ngày hôm nay chúng ta bắt tay vào xây dựng từng bước dự án này nhé.

 

Tất cả dữ liệu và mã lệnh chỉnh sửa dữ liệu trực tiếp nằm trong tầng truy xuất dữ liệu. Phía trên tầng truy xuất dữ liệu là tầng nghiệp vụ, tầng này cung cấp tất cả quy tắc và tính thông minh của hệ thống. Tầng nghiệp vụ được tổ chức thành 7 lớp. Và cuối cùng là tầng giao diện.

I. Tầng truy xuất dữ liệu

Ở project này chúng ta sử dụng SQL Server 2005 Express. Tuy nhiên cũng đừng lo gì về khoản này bạn à. Dưới đây là đề xuất mô hình cơ sở dữ liệu của chúng ta.

online diary

Các bảng cơ sở dữ liệu Online Diary và vai trò của chúng như sau:

  • Diary: Chứa thông tin chi tiết của tất cả người dùng
  • DiaryEntry: Chứa tất cả nhật ký của người dùng
  • DiaryEvent: Chứa tất cả sự kiện của người dùng
  • Contact: Thông tin chi tiết liên lạc cho Online Diary

II. Tầng nghiệp vụ
Tầng nghiệp vụ được chia thành 7  lớp, trong đó 4 lớp chính là

  • OnlineDiary
  • DiaryEntry
  • DiaryEvent
  • Contact

Các lớp này làm nhiệm vụ xử lý dữ liệu chính trong project của chúng ta.

  1. OnlineDiary
    Mục đích của lớp này cung cấp 2 phương thức public liên quan đến sổ nhật ký của chúng ta:

    InsertDiary(string UserName, String FirstName, string LastName) Thêm một người dùng mới vào cơ sở dữ liệu
    GetDiaryIdFromUserName(string UserName) Tìm kiếm username trong cơ sở dữ liệu và trả về DiaryId tương ứng
  2. Contact
    Thể hiện hóa một liên lạc, một người hay một thứ gì đó mà bạn muốn lưu thông tin liên lạc.

    New(int DiaryId) Tạo một đối tượng Contact với các thuộc tính được lưu mặc định
    New(long ContactId) Tạo một đối tượng Contact với thuộc tính được lấy từ cơ sở dữ liệu

    Với một đối tượng Contact được khởi tạo, việc lưu nó vào CSDL chỉ đơn giản là gọi phương thức Save(). Lớp này sẽ xem xét xem đó có phải là một đối tượng mới hay không, hay là một liên lạc đã tồn tại cần được cập nhật.

    Save() Lưu một đối tượng Contact có đầy đủ dữ liệu. Nếu đối tượng đó chưa tồn tại thì gọi InsertNewContact(). Nếu không thì gọi phương thức UpdateContact()
    DeleteContact() Xóa một đối tượng Contact ra khỏi cơ sở dữ liệu với ContactId = mContactId của đối tượng Contact
    DeleteContact(long ContactId) Phương thức xóa đối tượng Contact ra khỏi CSDL với đối số ContactId của phương thức
    GetContactsByFirstLetter(int DiaryId, Optional char FirstLetterOfSurName) Phương thức này sẽ trả về một đối tượng SqlDataReader gồm một danh sách các liên lạc mà chữ cái đầu tiên trùng với FirstLetterOfSurName. Đối số này là tùy chọn, nếu để trống thì tất cả liên lạc sẽ có trong các hàng của DataSet
    GetContactsByFirstLetterAsCollection(int DiaryId, Optional char FirstLetterOfSurName) Phương thức này trả về một đối tượng ContactCollection gồm các chữ cái đầu tiên trùng với đối số FirstLetterOfSurName. Đối số này cũng là tùy chọn.
  3. ContactCollection
    Lớp ContactCollection được kế thừa từ lớp System.Collections.CollectionBase. Mục đích là lưu trữ một tập hợp các đối tượng Contact

    Add(Contact NewContact) Thêm một đối tượng Contact vào tập hợp ContactCollection
    Add(long ContactId) Tạo một đối tượng Contact mới
    Remove(int Index) Loại bỏ đối tượng Contact tại vị trí Index
  4. DiaryEntry
    Lớp này làm nhiệm vụ thêm sửa xóa cập nhật các nhật ký của project và cũng có các phương thức giống với lớp Contact
  5. DiaryEntryCollection
    Giống với ContactCollection
  6. DiaryEvent
    Giống với DiaryEntry, lưu trữ những sự kiện của nhật ký
  7. DiaryEventCollection
    Giống với DiaryEntryCollection, lưu trữ những DiaryEvent

Trên đây là tổng quan về các tầng, các lớp các phương thức mà chúng ta sẽ xây dựng trong các ngày tiếp theo. Ngày tiếp theo chúng ta sẽ đi sâu vào việc lập trình các lớp hơn nữa.
Chúc các bạn có những giây phút thú vị cùng sharecodeweb.net

Related Posts

Tác giả: Nguyễn Trung Hiếu

Một blogger ... cùi bắp! Đơn giản: tôi muốn ghi lại những gì xảy ra xung quanh, cả công việc lẫn cuộc sống và chia sẻ với các bạn đọc. Nếu bạn cảm thấy bài viết có nhiều điểm không chính xác, hãy comment và chia sẻ để tôi còn được học hỏi từ những góp ý của bạn. Email: hieunt.dcn@gmail.com

Leave a comment

Bạn phải Đăng nhập để tham gia bình luận.

https://sharecodeweb.net/?s={search_term_string}

Blog Stats

  • 5.920 hits
%d bloggers like this: