উত্তর:
জেএসইসি এবং ড্রলগুলি জাভা বিধিগুলি গ্রহণ করার পক্ষে কি কি?
ব্যবসায়ের নিয়মগুলিকে অ্যাপ্লিকেশন যুক্তি থেকে আলাদা করার প্রয়োজন হলে একটি নিয়ম ইঞ্জিন ব্যবহার করুন। কি আপনার প্রকল্পের প্রয়োজন একটি নিয়ম ইঞ্জিন নিবন্ধ একটি ভাল উদাহরণ আছে:
উদাহরণস্বরূপ, একটি সাধারণ স্টোরফ্রন্ট সিস্টেমে ছাড়ের গণনা করার জন্য কোড জড়িত থাকতে পারে:
if (product.quantity > 100 && product.quantity < 500) { product.discount = 2; } else if (product.quantity >= 500 && product.quantity < 2000) { product.discount = 5; } else if (product.quantity >= 2000) { product.discount = 10; }
একটি নিয়ম ইঞ্জিন উপরেরটিকে কোডের সাথে প্রতিস্থাপন করে যা দেখতে দেখতে এটি:
ruleEngine.applyRules(product);
অ-প্রযুক্তিগত লোকের হাতে কোনও রুল অ্যাডমিন কনসোল স্থাপন করা ভাল জিনিস কিনা তা আপনি সিদ্ধান্ত নিতে পারেন :)
আরো বিস্তারিত বলা উচিৎ? একটি বিধি ইঞ্জিন ব্যবহার করবেন? , কেন একটি রুল ইঞ্জিন ব্যবহার করবেন? , কোনও বিধি ইঞ্জিন ব্যবহার করতে হবে এবং গুগলে সিদ্ধান্ত নেওয়ার জন্য কিছু গাইডলাইন ।
অন্য কোন খেলোয়াড় আছে?
অন্যান্য খেলোয়াড়দের মধ্যে রয়েছে জেআরুলস, কর্টিকন (জেআরুলস সর্বাধিক বিখ্যাত আইএমও - যার অর্থ সেরা নয়)।
আপনার কোডের সাথে ব্যবহারের স্বাচ্ছন্দ্য, পারফরম্যান্স, সংহতকরণের স্তরের মতো তারা কীভাবে অন্যান্য ক্ষেত্রে তুলনা করতে পারে?
আপনাকে সুনির্দিষ্টভাবে বলতে পারি না, ড্রোলসের সাথে আমার কেবলমাত্র একটি (ইতিবাচক) অভিজ্ঞতা আছে। তবে আপনি JBoss Drools বনাম ILog JRules এর মতো ব্লগ পোস্টগুলি থেকে কিছু প্রতিক্রিয়া পাবেন - একটি অজানা গল্প (এটি পড়তে ভুলবেন না) বা জেআরুলস দৃষ্টিকোণ থেকে দ্রোলসের সাথে কাজ করা । আমি নিশ্চিত যে আপনি গুগলে তাদের আরও কিছু খুঁজে পেতে পারেন (তবে আমি ড্রলসকে চেষ্টা করে দেখাব)।
আমাদের অ্যাপ্লিকেশন সার্ভারের সাথে ব্যবহারের জন্য আমরা এখন বিধিগুলি মূল্যায়ন করছি। আমরা ওপেনরুলস পেরিয়ে এসেছি , যা জাভার সাথে সংহত করা সহজ এবং আমাদের পরীক্ষাগুলি যতটা দ্রুত দেখিয়েছে, তত দ্রুত। অন্যদের উপরে ওপেনরুলসের প্রধান সুবিধাটি হ'ল নিয়মগুলি সংশোধন ও পরিচালনা করা হয়। এটি সমস্তই এক্সেল টেবিলগুলিতে ঘটে যা নন-প্রোগ্রামারদের পক্ষে সহজতম উপায়। জড়িত প্রত্যেকে, এমনকি অ-প্রযুক্তিগত লোকেরাও পুরোপুরি বুঝতে পেরেছিলেন :-)
আমাদের কাছে ড্রলস ইন্টিগ্রেটেডও রয়েছে তবে নিয়মগুলি আরও জটিল হওয়ার কারণ এটি আরও বেশি প্রোগ্রামেটিক অ্যাপ্রোচ। সে কারণেই আমরা - সম্ভবত - ওপেনরুলসকে আটকে থাকব।
আমাদের সাথে আমাদের একই প্রশ্ন ছিল, অবশেষে আমরা দ্রোলসকে তুলে নিলাম, আপনার যদি নিম্নলিখিতগুলি থাকে তবে একজনের ড্রল ব্যবহার করা উচিত:
নিম্নলিখিত URL- এ আরও বিশদ রয়েছে
কেবল এটিকে যুক্ত করেই যে কোনও অ্যাপ্লিকেশনটিতে কিছু বৈশিষ্ট্য সক্ষম বা অক্ষম করার জন্য কিছু শর্ত পূরণ করা হয়েছে কিনা তা পরিচালনা করার মতো অনেক লোক সন্ধান করছেন।
আমি যেখানেই গিয়েছি একই প্যাটার্নটি পুনরায় প্রয়োগ করে ক্লান্ত হয়ে পড়েছি, তাই আমি এটির জন্য একটি ওএসএস প্রকল্প তৈরি করার সিদ্ধান্ত নিয়েছি যার নাম রুলি http://sourceforge.net/projects/roolie/
আমি এটিকে কেবল রূপান্তরিত করেছি এবং যেহেতু ২০১০ সাল থেকে এটি প্রকাশিত হওয়ার পরে কোনও বাগের খবর পাওয়া যায় নি, আমি মাভেন সেন্ট্রালে এটি হোস্ট করার জন্য প্রয়োজনীয় পরিবর্তন ব্যতীত অন্য কোনও পরিবর্তন ছাড়াই এটিকে ১.০ এ উন্নীত করেছিলাম (যা আমি প্রক্রিয়ায় আছি) )।
মূলত জেএসআর -৪৪ বেশিরভাগ জিনিসের জন্য ওভারকিল, এবং এখানে প্রচুর শেখার বক্ররেখা এবং ওভারহেড রয়েছে যা বর্তমান অফারগুলির সাথে চলে। আপনি যদি চান তা ঠিক আছে। তবে আপনি যদি নিজের রাষ্ট্র পরীক্ষাগুলি বজায় রাখতে XML এর সাথে জাভাতে লেখা সহজ নিয়মগুলি কেবল শৃঙ্খলাবদ্ধ করতে চান তবে রুলি এটি করা খুব দ্রুত উপায় way কোন নির্ভরতা এবং কোন শেখার বক্ররেখা নেই।
যখন আমাদের কোনও নিয়ম ইঞ্জিনের দরকার পড়েছিল তখন আমরা আমাদের নিজস্ব রোল করার সিদ্ধান্ত নিয়েছিলাম, কারণ সহজলভ্য কাজগুলি সহজলভ্যতার জন্য উপলভ্যগুলি খুব জটিল ছিল। যদি আপনি এমনকি ব্যবহারকারীদের দেওয়া পার্সিং এক্সপ্রেশনগুলির সাথে দূরবর্তী অবস্থান থেকে অভিজ্ঞ হন তবে এটি করা খুব কঠিন নয়। আমাদের ক্ষেত্রে, বেশিরভাগ অনুমানটি এক্সএসডি দ্বারা পরিচালিত হয় এবং কেবলমাত্র কয়েকটি ক্ষেত্রই আরও পার্স করা যায়।