अरे दोस्तों मेरे पास एक डिज़ाइन समस्या है।सॉफ्टवेयर डिजाइन फैक्टरी पैटर्न में अमूर्त जेनेरिक कक्षाओं का उपयोग
dim ratevalues as RateValues = RateSetting().Calculator.Calculate()
सुंदर सरल:
Public Interface ICalculator
Property PaymentTerm As Double
Function Calculate() As CommissionValues
ReadOnly Property CalculationRule As CalculationRuleEnum
End Interface
Public Interface IFlexibleRateCalculator
Inherits ICalculator
Property TransferRate As Decimal
End Interface
Public Interface IFixedRateCalculator
Inherits ICalculator
Property ContractRate As Decimal
End Interface
Public Interface IRateSettingBase
Property RateType As RateTypeEnum
ReadOnly Property Calculator As ICalculator
End Interface
Public MustInherit Class RateSetting
Implements IRateSettingBase
Public MustOverride ReadOnly Property Calculator() As ICalculator Implements IRateSettingBase.Calculator
मैं कुछ इस तरह कर सकते हैं: मैं एक दर कैलकुलेटर के रूप में निम्नानुसार बनाया। समस्या यह है कि प्रत्येक प्रकार के कैलक्यूलेटर के पास अपने गुणों का सेट होता है जिसे उनकी गणना() विधियों को ठीक से काम करने के क्रम में सेट करने की आवश्यकता होती है। इसलिए मैं इस प्रकार
FlexibleRateCalculator
Implements IFlexibleRateCalculator
Private mRequestedRate As Decimal
Public Function Calculate() As RateValues Implements ICalculator.Calculate
FixedRateCalculator
Implements IFixedRateCalculator
Private mTransferRate As Decimal
Public Function Calculate() As RateValues Implements ICalculator.Calculate
जेनरिक और अमूर्त वर्गों का उपयोग करना एक कारखाने पैटर्न है कि एक विशिष्ट प्रकार गतिशील रूप से एक कैलकुलेटर उत्पन्न होगा बनाने के लिए सबसे अच्छा तरीका क्या है लागू करने के लिए होने अंत ??
मुझे एक बहुत ही सामान्य समाधान की आवश्यकता है क्योंकि कई गणना दरों को जोड़ा जाएगा और गणना तर्क के लिए आवश्यक अपने स्वयं के पैरामीटर के साथ संशोधित किया जाएगा। मैं इसे जल्दी से करने और संभवतः डीबी के माध्यम से इन दर गणना को नियंत्रित करने में सक्षम होना चाहता हूं। सी # या वीबी.Net में एफवाईआई का जवाब स्वागत है :) अग्रिम धन्यवाद!
क्या यह vb.net है? अधिक ध्यान पाने के लिए कृपया एक भाषा टैग जोड़ें। –
धन्यवाद। और हाँ यह अभी VB.Net में है लेकिन मैं सी # में परिवर्तित हो सकता हूं इसलिए सिंटैक्स मदद करेगा। मैं डिजाइन से ज्यादा चिंतित हूं। एक बार फिर धन्यवाद। – user1794228