2012-04-20 27 views
5

Tôi đã phản ánh về cuộc trò chuyện của Rich Hickey, Simple Made Easy, khi tôi nhận được phần "Có gì trong Bộ công cụ của bạn?" trượt. Có một danh sách của sự tương phản giữa sự phức tạp và đơn giản, điều này khơi gợi sự quan tâm của tôi:Lựa chọn thay thế cho Điều kiện

phức tạp: Conditionals, đơn giản: Rules

Có ai có bất cứ cái nhìn sâu sắc vào những gì các loại vật Giàu được đề xuất ở đây ?

+0

Tôi đoán tôi biết câu trả lời chung, [quy tắc công cụ] (http://en.wikipedia.org/wiki/Business_rules_engine), và điều này bắt đầu tread trên vùng đất của những thứ như [lập trình logic] (http: //en.wikipedia.org/wiki/Logic_programming), nhưng tôi đã tự hỏi nếu ai đó có thể nói chuyện với * cách *, hoặc đưa ra * các ví dụ thúc đẩy * về các cách mà chúng ta có thể xử lý với logic miền một cách khai báo. Cảm ơn! – Chris

Trả lời

4

Tôi đoán anh ấy đang chịu trách nhiệm trên Conditionals dưới dạng biểu thức boolean trong ngôn ngữ lập trình. Nếu bạn có nhiều câu lệnh có điều kiện như vòng lặp và công tắc, nó sẽ phức tạp rất nhanh. Cách đơn giản hơn là xác định Quy tắc. Quy tắc là ngôn ngữ tự nhiên hơn, bạn có thể xử lý chúng theo cách trừu tượng hơn để mô tả các điều kiện của bạn.

Xem Quản lý truy cập Windows nơi bạn có thể gán quy tắc cho người dùng về các quyền mà họ có. Giống như thay đổi hình nền máy tính. Các quy tắc rất dễ hiểu và đó là một quyết định boolean đơn giản nếu quy tắc được áp dụng hay không. Nhưng nếu bạn trích xuất tất cả các điều kiện đằng sau các quy tắc, nó sẽ trở nên rất phức tạp. Bởi vì bạn phải quan tâm đến mỗi và mọi thứ có thể ảnh hưởng đến hình nền trong trường hợp này.

Cuối cùng, cả hai đều là phương pháp để mô tả Điều kiện, nhưng cách đơn giản hơn là điều kiện khác.

+0

Để người chiến thắng đi chiến lợi phẩm – Chris