2011-08-05 45 views
5

Tôi đang tạo một giao diện nơi người dùng có thể xây dựng quy tắc nghiệp vụ riêng của họ ra khỏi các đối tượng miền cụ thể khi chạy, có các quy tắc đó vẫn tồn tại trong cơ sở dữ liệu và sau đó được ứng dụng sử dụng. Một số trong số này là các biến vị ngữ phức tạp và các biến vị ngữ khác yêu cầu sự kết hợp các đối tượng miền trong những quan hệ có vẻ khá phức tạp. Cho đến nay tôi đã nhìn vào GoF, động lực với eval, và CodeDom. Có ai có gợi ý về những gì nên được sử dụng?Quy tắc kinh doanh động

+2

Câu hỏi của bạn là chính xác, cách lưu trữ và truy xuất chúng, hoặc cách thực hiện một cách nhanh chóng? Một số mẫu sẽ giúp, cũng như các quy tắc sẽ hoạt động trên v.v. – gjvdkamp

+0

Hãy xem xét công cụ quy tắc Hiệu ứng Mã. Có những gì bạn đang tìm kiếm. – Lacash

Trả lời

1

Kaizen, tùy thuộc vào phạm vi và loại quy tắc động của bạn cuối cùng bạn có thể sử dụng công cụ luồng công việc, như MS WF để xác định các quy tắc như hoạt động của luồng công việc chẳng hạn ... theo cách này bạn tách logic và không cần xây dựng lại hoàn toàn ứng dụng khi bạn cần thay đổi bất kỳ thứ gì trong luồng công việc.

Điều này có thể không phải là giải pháp tốt nhất nhưng có thể là một sự thay thế ...

1

Đã dành một năm xây dựng một công cụ quy tắc và chiến đấu trên các phương pháp tiếp cận tôi có thể cho bạn biết điều đó không dễ dàng. Đặc biệt là khi bạn tập trung vào mục tiêu của bạn là gì. Nếu nó giúp người dùng viết các quy tắc cho hệ thống, bạn thực sự cần tập trung chăm chỉ vào khu vực đó. Whats dễ dàng cho một nhà phát triển có lẽ là khó khăn hơn cho hầu hết người dùng doanh nghiệp. Chúng tôi xây dựng một nền tảng soạn thảo quy tắc trong Excel được biên dịch thành C# và chạy tự động ... vấn đề là người dùng đã tìm thấy các bảng tính và luồng logic quá phức tạp và thuê các nhà thầu ASp.NET để xây dựng các quy tắc.

BizTalk có một động cơ mà tôi tin có thể được sử dụng cho các ứng dụng NET http://www.microsoft.com/biztalk/en/us/business-rule-framework.aspx

Hãy vui vẻ!

1

Quy tắc thay đổi thường xuyên như thế nào? Xây dựng một hệ thống cho phép xây dựng doanh nghiệp (và phiên bản) quy tắc riêng của họ là khó khăn hơn nhiều so với việc xây dựng một hệ thống cho phép một lập trình viên cập nhật các quy tắc một cách linh hoạt.

Khi yêu cầu tương tự xuất hiện trong một dự án trước đây, doanh nghiệp đã thừa nhận rằng trong khi có, các quy tắc sẽ thay đổi; chúng sẽ không thay đổi thường xuyên đến nỗi nó để chúng có thể cập nhật. Chúng tôi đã kết thúc bằng cách sử dụng IronPython cho các phần năng động và lưu trữ mã trong cơ sở dữ liệu và hệ thống sẽ kéo lên các quy tắc thích hợp khi tải. Phần còn lại của ứng dụng được viết bằng C#. Một chiến thắng cho chúng tôi và cho doanh nghiệp.

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