जटिल व्यापार तर्क को संभालने के अच्छे तरीके क्या हैं कि पहली नज़र से बयान में कई घोंसले की आवश्यकता होती है?जटिल व्यवसाय "आईएफ" तर्क को सरल कैसे करें?
उदाहरण:
डिस्काउंट कूपन। हो सकता है:
1 क) मूल्य छूट
1b) का प्रतिशत छूट
2 ए) सामान्य छूट
2b) प्रगतिशील छूट
3a) आवश्यक पहुँच कूपन
3 बी) का उपयोग कूपन
4 ए) केवल उस ग्राहक को लागू किया गया जो पहले से ही
4b से पहले खरीदा गया है) किसी भी ग्राहक को लागू
5a) केवल उन्हीं देशों (पहला, दूसरा, से ग्राहकों के लिए लागू होता है ...)
कोड की आवश्यकता है यही कारण है कि और भी जटिल तो यह:
if (discount.isPercentage) {
if (discount.isNormal) {
if (discount.requiresAccessCoupon) {
} else {
}
} else if (discount.isProgressive) {
if (discount.requiresAccessCoupon) {
} else {
}
}
} else if (discount.isValue) {
if (discount.isNormal) {
if (discount.requiresAccessCoupon) {
} else {
}
} else if (discount.isProgressive) {
if (discount.requiresAccessCoupon) {
} else {
}
}
} else if (discount.isXXX) {
if (discount.isNormal) {
} else if (discount.isProgressive) {
}
}
भले ही आप आईएफएस की जगह स्विच करने के लिए/मामला यह है अभी भी बहुत जटिल है। इसे पठनीय, रखरखाव करने योग्य, अधिक परीक्षण करने योग्य और समझने में आसान बनाने के तरीके क्या हैं?
यह अलग छूट वर्ग नहीं है। यह एक छूट वर्ग है जो उन सभी 1-5 चीजों के साथ संभावित गुणों के साथ है। – Zelid
मैं सुझाव दे रहा हूं कि आप इसे बदल दें ताकि आपके पास कई छूट कक्षाएं हों। –
ठीक है, तो फिर निर्दिष्ट करें कि छूट एक ही समय में 1 ए, 2 बी, 3 ए, 4 बी होना चाहिए? – Zelid