Kotlin में भाषा की मुहावरों को ध्यान में रखते हुए Builder पैटर्न को सही तरीके से कैसे लागू करें?
सभी को नमस्कार! मैं Kotlin में नौसिखिया हूँ (Java से आ रहा हूँ) और बड़ी संख्या में पैरामीटर वाले क्लास के लिए Builder पैटर्न लागू करने की कोशिश कर रहा हूँ। Java में मैं आमतौर पर set... और build() मेथड के साथ एक स्टैटिक इनर क्लास Builder बनाता था। लेकिन Kotlin में मैं देख रहा हूँ कि कई चीज़ें अलग तरह से काम करती हैं, और मेरा Java दृष्टिकोण भारी लगता है।
मैं यह करने की कोशिश कर रहा हूँ:
```kotlin
class User(
val name: String,
val age: Int?,
val email: String?,
val phone: String?,
val address: String?,
val isActive: Boolean
)
```
मैं चाहता हूँ कि केवल name अनिवार्य हो, बाकी फ़ील्ड वैकल्पिक हों। Java में मैं `setAge(age: Int): Builder` जैसी मेथड वाला Builder लिखता, लेकिन Kotlin में यह अप्राकृतिक लगता है। मैंने named arguments और default values का उपयोग करने की कोशिश की, लेकिन यह समस्या हल नहीं करता जब ऑब्जेक्ट को कई चरणों में बनाना हो (जैसे, चेन कॉल में)।
मैंने `apply {}` फ़ंक्शन के बारे में भी सुना है, लेकिन यकीन नहीं है कि इसे सही तरीके से कैसे लागू करूँ। कृपया बताएँ कि Kotlin में Builder पैटर्न को आमतौर पर कैसे लागू किया जाता है।