2009-02-20 25 views
16

Tôi đang cố gắng giải quyết các yêu cầu từ khách hàng về công cụ định giá trong môi trường bán lẻ. Chúng tôi đã xác định công cụ định giá hoạt động trên một bộ quy tắc đặt giá thiết lập điểm giá mới cho các mặt hàng đã mua dựa trên các mặt hàng hiện có đã có trong giỏ hàng.Các mẫu thiết kế và thuật toán để áp dụng các quy tắc cho các sự kiện

Quy tắc giá đơn giản có thể là NHẬN ĐƯỢC GIẢM GIÁ 40%. Quy tắc phức tạp hơn có thể là NHẬN ĐƯỢC BÀN GIỜ MIỄN PHÍ KHI BẠN MUA 2 BẢNG VÀ CHI PHÍ Ở mức $ 30.

Thực hành chung trong ngành để áp dụng các quy tắc này có vẻ là giá tốt nhất cuối cùng cho khách hàng, nhưng nó đã xuất hiện rằng có thể cần phải có tùy chọn xếp hạng cũng như tùy chọn xếp chồng.

Xếp hạng sẽ cho phép một quy tắc nếu không sẽ thua để giành chiến thắng. Xếp chồng sẽ cho phép nhiều quy tắc giành chiến thắng.

Tôi đã xem xét nhiều bài đăng ở đây về SO liên quan đến công cụ quy tắc và tôi cần trợ giúp xác định xem có nên sử dụng một trong các công cụ này hay không. thiết kế.

Rõ ràng đây có thể là vấn đề NP và số lượng mặt hàng (sự kiện) mà tôi sẽ xử lý có thể vượt quá 100+ cho mỗi giao dịch với yêu cầu lặp lại mỗi lần thêm mục mới.

+1

Bạn tò mò với phương pháp nào? Đó có phải là lựa chọn đúng đắn không? –

+0

Chúng tôi đã tạo ra công cụ quy tắc của riêng mình mà đã kết thúc bằng cách sử dụng nhiều kỹ thuật khác nhau để giải quyết vấn đề. Tôi không có thông tin để chia sẻ các cuff ở đây vì điều này đã được giải quyết và thực hiện hơn 7 năm trước đây. Chúng tôi đã kết thúc bằng cách sử dụng một số phương pháp tiếp cận địa phương hóa và áp dụng trọng số cho các bản địa hóa. Sau đó, chúng tôi đã sử dụng một loại định tuyến thuật toán chi phí ít nhất để xác định sự kết hợp giá tốt nhất của giao dịch giá. Công việc đã hoàn thành hóa ra là một trong những dự án yêu thích của tôi - chúng tôi đã viết nó như một mô-đun độc lập có thể được sử dụng ở những nơi khác. Quy tắc + bộ đầu vào -> tập hợp giá đầu ra. – Bill

Trả lời

2

Công cụ quy tắc rất phù hợp. Nếu công cụ quy tắc đáng tin cậy, phù hợp với phần còn lại của kiến ​​trúc/ứng dụng của bạn và cần thiết cho một tính năng cốt lõi của ứng dụng của bạn, hãy sử dụng nó.

Nếu công cụ quy tắc chỉ là một phần nhỏ của ứng dụng hoặc thậm chí tệ hơn: là một số mã, không phải là ngôn ngữ lập trình giống với ngôn ngữ còn lại của bạn ... thì bạn nên xem xét lại. Mỗi phần ứng dụng, nằm ngoài ứng dụng cốt lõi của bạn (ngay cả cơ sở dữ liệu nằm ngoài ứng dụng java) đều là một rủi ro.

Sau đó, có hai khả năng: Lập trình một công cụ quy tắc đơn giản theo cách của riêng bạn hoặc sử dụng Chiến lược hoặc Mẫu trạng thái.

5

Có một bài viết hay của Martin Fowler về Công cụ quy tắc và nơi sử dụng chúng. Xem liệu có giúp

http://www.martinfowler.com/bliki/RulesEngine.html

+0

Tôi đang xem xét điều này. Tôi đã đọc khối lượng công việc của anh ấy, nhưng gần đây đã không nhảy qua tài liệu trực tuyến của anh ấy. – Bill

Các vấn đề liên quan