1. Trang chủ
  2. » Luận Văn - Báo Cáo

tìm hiểu và sử dụng dotshoppingcart

12 214 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 2,14 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Xây dựng Provider Model mẫu Tìm hiểu cách cấu trúc Provider Model qua sơ đồ lớp sau: Sơ đồ lớp trên thể hiện cho ví dụ về xây dựng một Provider Model cho ứng dụng sử dụng linh hoạt nhiều

Trang 1

THANH TOÁN TRỰC TUYẾN TRONG DOTSHOPPINGCART

Mục lục

I Xây dựng Provider Model 2

1 Giới thiệu 2

2 Xây dựng Provider Model mẫu 2

3 Nhận xét 6

II Kiến trúc tổ chức thanh toán trực tuyến trong DotShoppingCart (DSC) 7

1 Tổng quan 7

2 Provider Payment 7

3 Thiết lập Payment trong Admin 10

4 Sử dụng các provider trong Checkout 11

III Nhận xét tổng quan 12

1 Ưu điểm 12

2 Khuyết điểm 12

Trang 2

I Xây dựng Provider Model

1 Giới thiệu

DotShoppingCart xây dựng các thành phần chức năng của hệ thống (trong đố

có payment) theo Provider Model

Provider Model là một mẫu thiết kế cho phép ứng dụng làm việc với nhiều

cách giải quyết khác nhau cho cùng một vấn đề

Mục đích:

 làm cho ứng dụng dễ dàng mở rộng

 dễ dàng làm việc với nhiều hướng tương tác với tập dữ liệu thông qua việc file thiết lập

2 Xây dựng Provider Model mẫu

Tìm hiểu cách cấu trúc Provider Model qua sơ đồ lớp sau:

Sơ đồ lớp trên thể hiện cho ví dụ về xây dựng một Provider Model cho ứng

dụng sử dụng linh hoạt nhiều phương thức lưu trữ và kết nối dữ liệu Dựa vào

giá trị tùy chỉnh trong file config hệ thống tự động chuyển qua lại giữa 2

phương thức lưu trữ khác nhau là SQL và XML

Qua sơ đồ thấy được một provider gồm 4 thành phần quan trọng:

 Main Provider Class: DataProvider

 Provider Collection Class: DataProviderCollection

 Provider Configuration Class: DataProviderConfiguration

 Provider Manager Class: DataProviderManager

Main Provider Class:

Trang 3

- Là một lớp abstract kế thừa từ System.Configuration.ProviderBase – một lớp

cung cấp sẵn giúp mở rộng provider

- Định nghĩa những phương thức mà provider đảm nhận Những phương thức này cần được implement từ những provider thuộc loại này (kế thừa từ main

provider class) Trường hợp này là phương thức SaveValue

Provider Collection Class:

- Lớp này kế thừa từ System.Configuration.ProviderCollection – lớp đảm

nhận nhiệm vụ làm việc với danh sách các provider được khai báo trong file config

- Nhiệm vụ của lớp này là trả về provider từ danh sách các provider dựa vào tên của provider đó Điều này được thực hiện bằng việc gọi làm hàm xử lý

cơ bản của ProviderCollection

Provider Configuration Class:

Trang 4

- Class này chứa những xử lý để quản lý những tùy chỉnh cho provider

- Kế thừa từ System.Configuration.ConfigSection và sử dụng những phương

thưc cơ bản từ lớp này để trả về danh sách các thiết lập provider và tên của

provider mặc định

- Có thể thêm mới những property tùy ý để chứa các giá trị lấy được từ file

config (những property phải tồn tại trong thiết lập trong file config)

- Mỗi property cần được bổ sung thêm thuộc tính ConfigurationProperty với

tham số là tên của property thể hiện trong file config

- Thuộc tính Providers (ProviderSettingsCollection) vai trò thể hiện cho thẻ

<providers /> trong file config

- Thuộc tính DefaultProviderName: set và get tên provider mặc định

Provider Manager Class:

Trang 5

Nhiệm vụ của class này là khởi tạo provider và load tất cả những thiết lập tùy hỉnh vào bộ nhớ

Ở đây cần chú ý 2 điểm trong hàm Initialize:

 Sử dụng phương thức GetSection cung cấp bởi

System Configuration.ConfigurationManager (tham số truyền vào là tên element chứa thiết lập trong file config, trong trường hợp này là DemoProvider)

để lấy về thể hiện của đối tượng thuộc Provider Configuration class

 Dùng ProvidersHelper để khởi tạo đối tượng thuộc Provider Collection class từ danh sách các provider load được từ file config

Implement các thể hiện của Main Provider class:

- Trong ví dụ hiện tại có 2 class là thể hiện của Main Provider: SQLDataProvider và XMLDataProvider

- Nhiệm vụ chính của class là thể hiện của Main Provider:

 Override lại các phương thức của Main Provider class

Trang 6

 Override lại phương thức Initialize của ProviderBase để có thể lấy về

các giá trị được lưu trữ tương ứng cho provider này trong file config

Nội dung thiết lập trong file config:

3 Nhận xét

- Việc sử dụng Provider Model làm cho ứng dụng dễ dàng được mở rộng,

linh hoạt trong việc thay đổi các module hiện có (chỉ thay đổi trong file config)

- Thêm mới một module chức năng cơ bản được thực hiện như sau:

 Xây dựng một main provider class định nghĩa những phương thức cơ bản (nếu chưa có) Bộ khung quản lý (Provider Configuration, Provider Manager, Provider Collection) cơ bản không thay đổi

Trang 7

 Sau đó thêm các thể hiện cho main provider này và implement các phương thức với các xử lý logic

 Cuối cùng là thiết lập các thông số trong file config

II Kiến trúc tổ chức thanh toán trực tuyến trong DotShoppingCart (DSC)

1 Tổng quan

- Thanh toán trực tuyến trong DSC tổ chức dựa trên Provider Model

- Các thành phần Provider Manager, Provider Collection, Provider

Configuration được tổ chức lại để có thể sử dụng cho cả ứng dụng nhưng bản chất nhiệm vụ của từng thành phần không thay đổi

- Các thiết lập về thanh toán được đặt trong file DSC.config

2 Provider Payment

Cấu trúc source code Provider :

Sơ đồ lớp tổ chức các provider thanh toán trong DSC:

Trang 8

a DSCProvider: được xem là main provider class trong Provider Model

Định nghĩa phương thức GetConfigurationSettings cần được implement trong

các lớp con Phương thức yêu cầu trả về danh sách các thuộc tính của provider

Mỗi phương thức thanh toán có tập những thuộc tính khác nhau  tại mỗi phương thức thanh toán cụ thể sẽ trả về tập các thuộc tính cần thiết

Định nghĩa mỗi ProviderAtribute:

b Phương thức quan trọng trong provider thanh toán

Ngoài những phương thức đặc thù cho từng phương thức thanh toán, những phương thức sau phải có trong mỗi provider cụ thể:

public override void Initialize( string name, NameValueCollection config)

Override lại phương thức Initialize từ ProviderBase

Lấy được các giá trị đã thiết lập trong file config

public override List < ProviderAttribute > GetConfigurationSettings()

Override lại phương thức GetConfigurationSettings từ DSCProvider

Trả về danh sách các thuộc tính

public static XXXPaymentProvider GetProvider()

Trả về provider mặc định thuộc loại provider hiện tại lấy từ file config

c Ví dụ trong phương thức thanh toán PaypalExpress

Trang 9

- Initialize:

 Lấy các giá trị thiết lập trong tham số config để khởi tạo provider

- GetConfigurationSettings:

 Trả về các thuộc tính của PaymentExpress Những giá trị này được sử

dụng khi thiết lập tùy chọn cho Payment trong phần Admin

Trang 10

- GetProvider:

Dựa vào SecctionName để trả về PaypalExpressPaymentServiceConfigurationSection

chứa thông tin thiết lập cho PayPalExpress Từ thông tin thiết lập khởi tạo

được một thể hiện PaypalExpressPaymentProvider Thông tin trong file

config:

3 Thiết lập Payment trong Admin

Giao diện tùy chỉnh payment:

Trang 11

- Việc load các phương thức thanh toán và cập nhật các tùy chính là hard-code !

- Mỗi lần update, các thông tin thiết lập được cập nhật lại vào file

DSC.config

4 Sử dụng các provider trong Checkout

- Việc sử dụng các provider trong thanh toán theo hướng hard-code !

- Khai báo sẵn các provider (dù rằng có dùng hay không)

- Dùng câu lệnh điều kiện if để xét xem phương thức nào đang được chọn để

sử lý  không gọi động được ! Việc tích hợp một phương thức thanh toán mới khó khăn !

Trang 12

III Nhận xét tổng quan

1 Ưu điểm

Các phương thức thanh toán trong DSC phát triển theo kiến trúc Provider

Model nên khả năng mở rộng, nâng cấp, thêm mới dễ dàng

2 Khuyết điểm

- Chưa cung cấp một phương pháp “động” tích hợp các phương thức đã xây dựng vào sử dụng khi Checkout

- Cấu trúc tổ chức các project, các class không hợp lý Các class nên được đóng gói vào các project riêng chuyên biệt

Ngày đăng: 26/05/2014, 18:14

HÌNH ẢNH LIÊN QUAN

Sơ đồ lớp tổ chức các provider thanh toán trong DSC: - tìm hiểu và sử dụng dotshoppingcart
Sơ đồ l ớp tổ chức các provider thanh toán trong DSC: (Trang 7)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w