2009-02-20 15 views
16

मैं खुदरा वातावरण में मूल्य निर्धारण इंजन के लिए ग्राहक से आवश्यकताओं को कम करने की कोशिश करने के बीच में हूं। हमने मूल्य निर्धारण इंजन को मूल्य निर्धारण नियमों के एक सेट पर परिचालन के रूप में परिभाषित किया है जो शॉपिंग कार्ट में पहले से मौजूद मौजूदा वस्तुओं के आधार पर खरीदे गए सामानों के लिए नए मूल्य बिंदु स्थापित करता है।तथ्यों के नियमों को लागू करने के लिए डिजाइन पैटर्न और एल्गोरिदम

एक साधारण मूल्य नियम हो सकता है एक शर्ट 40% OFF प्राप्त करें। एक और जटिल नियम एक निःशुल्क शर्ट प्राप्त कर सकता है जब आप कम से कम $ 30 पर 2 पैंट और खर्च खरीदते हैं।

इन नियमों को लागू करने के लिए सामान्य उद्योग अभ्यास ग्राहक को अंतिम सर्वोत्तम मूल्य लगता है, लेकिन यह आ गया है कि रैंकिंग विकल्प के साथ-साथ स्टैकिंग विकल्प भी हो सकता है।

रैंकिंग ऐसे नियम की अनुमति देगी जो अन्यथा जीतने के लिए हार जाएगी। स्टैकिंग कई नियमों को जीतने की अनुमति देगा।

मैंने नियम इंजनों के संबंध में एसओ पर कई पदों की समीक्षा की है और मुझे यह निर्धारित करने में मदद की ज़रूरत है कि मुझे अपने डिजाइन के हिस्से के रूप में इन उपकरणों में से किसी एक को देखना चाहिए या नहीं, तो क्या डिजाइन पैटर्न और एल्गोरिदम लागू हो सकते हैं परिरूप।

यह स्पष्ट है कि यह संभावित रूप से एक एनपी समस्या है, और वस्तुओं (तथ्यों) की संख्या जिनके साथ मैं काम कर रहा हूं, 100% प्रति लेनदेन से अधिक हो सकता है, हर बार जब कोई नया आइटम जोड़ा जाता है तो प्रतिलिपि बनाना आवश्यक होता है।

+1

जिज्ञासु जो विधि आप के साथ जा रहा खत्म किया था मदद करता है देखते हैं? क्या यह सही विकल्प था? –

+0

हमने अपना खुद का नियम इंजन बनाया जो समस्या को हल करने के लिए विभिन्न तकनीकों का उपयोग कर समाप्त हुआ। मेरे पास यहां कफ को साझा करने की जानकारी नहीं है क्योंकि इसे हल किया गया था और 7 साल पहले लागू किया गया था। हमने कुछ प्रकार के स्थानीयकरण दृष्टिकोण का उपयोग करके और स्थानीयकरण के लिए भारोत्तोलन लागू किया। हमने मूल्य सौदों का सबसे अच्छा संयोजन निर्धारित करने के लिए कम से कम लागत रूटिंग प्रकार एल्गोरिदम का उपयोग किया। तैयार काम मेरी पसंदीदा परियोजनाओं में से एक बन गया - हमने इसे एक स्वतंत्र मॉड्यूल के रूप में लिखा जो अन्य स्थानों का उपयोग किया जा सकता था। नियम + इनपुट सेट -> मूल्य आउटपुट सेट। – Bill

उत्तर

2

एक नियम इंजन बहुत उपयुक्त है। यदि नियम इंजन विश्वसनीय है, तो आपके बाकी आर्किटेक्चर/एप्लिकेशन में फिट बैठता है और आपके आवेदन की मूल सुविधा के लिए इसकी आवश्यकता होती है, इसके लिए इसके लिए जाएं।

यदि नियम इंजन केवल आपके आवेदन का एक छोटा सा हिस्सा है या इससे भी बदतर: कुछ कोड है, जो आपके शेष एप्लिकेशन की तुलना में एक ही प्रोग्रामिंग भाषा नहीं है ... तो आपको पुनर्विचार करना चाहिए। प्रत्येक एप्लिकेशन भाग, जो आपके मूल आवेदक से बाहर है (यहां तक ​​कि डेटाबेस जावा एप्लिकेशन के बाहर भी है) एक जोखिम है।

फिर दो संभावनाएं हैं: प्रोग्राम अपने आप से एक सरल नियम इंजन या रणनीति या राज्य पैटर्न का उपयोग करें।

5

मार्टिन फाउलर ऑन रूल्स इंजन और उनका उपयोग करने के लिए एक अच्छा लेख है। यदि

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

+0

मैं इसे देख रहा हूं। मैंने अपनी काम की मात्रा पढ़ी है, लेकिन हाल ही में अपनी ऑनलाइन सामग्री के माध्यम से उम्मीद नहीं की है। – Bill

संबंधित मुद्दे