Kiến trúc phần mềm

Một phần của tài liệu Website bán hàng dựa trên vị trí (Trang 82 - 86)

Kế thừa từ phần mềm mạng xã hội myPlace cùng với việc sử dụng StructureMap, kiến trúc phần mềm của nhóm như sau:

SNL View ShoppingScripts ShoppingManagement Shopping Extension class Controller ShoppingController ShoppingManagement Controller ShoppingJS Framework GlobalJSFramework FormScript

66

Hai thành phần lớn của chương trình: SNL – là một ASP.NET MVC project và SNFramework.Net – là một class library project. Trong SNL, nhóm không sử dụng thành phần model vì tất cả các model đều được định nghĩa trong thành phần DomainServices của SNFramework.Net. Các tập tin javascript được tổ chức một cách có cấu trúc bởi vì trong chương trình, nhóm sử dụng rất nhiều javascript. Trong SNFramework.Net, mỗi thành phần đều có hai thành phần nhỏ hơn. Một là AbstractServices chứa các interface. Hai là ConcreteServices chứa các thể hiện của các

SNFramework.Net DataContextServices AbstractServices ConcreteServices DomainServices RepositoryServices Services AbstractServices ConcreteServices AbstractServices ConcreteServices AbstractServices ConcreteServices Hình 4-5: Kiến trúc phần mềm

67

interface này. Kỹ thuật Dependency Injection được sử dụng ở đây cùng với công cụ StructureMap.

Dưới đây là mô tả chi tiết từng thành phần:

1. SNL

STT Tên thành phần Mô tả

1 View Chứa giao diện người dùng, bao gồm các user control và các trang aspx.

2 Controller Xử lý tương tác người dùng, thao tác với các thành phần của SNFramework.Net để lấy dữ liệu, cập nhật dữ liệu, lựa chọn view thể hiện dữ liệu.

3 ExtensionClass Chứa các lớp phụ để trợ giúp cho controller ví dụ như Captcha, JsonFilter.

4 ShoppingScripts Chứa các tập tin javascript. Trong đó:

FormScripts Chứa các tập tin javascript xử lý tương tác trên các form.

GlobalJSFramework Chứa các phương thức javascript xử lý chung cho toàn chương trình như Server.js, FileUtil.js, …

ShoppingJSFramework Là thành phần javascript cốt lõi, trong đó có chứa các thành phần nhỏ hơn:

- Abstract: chứa các khai báo của namespace.

68

phần cài đặt của các namespace trong Abstract.

- Constant: chứa các khai báo biến toàn cục, hằng số.

- CoreLib: chứa các xử lý chính ví dụ như khởi tạo các đối tượng javascript trong chương trình. - MapContextMenu: thư viện javascript để tạo ra các context menu trên bản đồ.

- MapTooltip: tạo ra các tooltip cho marker trên bản đồ.

Bảng 4-3: Mô tả kiến trúc SNL

2. SNFramework.Net

STT Tên thành phần Mô tả

1 DataContext Services

Kết nối cơ sở dữ liệu

2 DomainServices Định nghĩa các lớp cho dữ liệu đầu vào, đầu ra của chương trình (giống như ViewModel).

3 Repository Services

Thực hiện các thao tác trên dữ liệu: thêm, xóa, sửa, truy vấn dữ liệu.

4 Services Chứa các xử lý khác như xử lý hình ảnh logo của cửa hàng

69

Một phần của tài liệu Website bán hàng dựa trên vị trí (Trang 82 - 86)

Tải bản đầy đủ (PDF)

(157 trang)