Start by opening the Kotlin playground in your browser. Download the course material from the GitHub link at the side of the video. Copy and paste the code from Factory.kts in the Starter folder for Lesson 2.
Ane jompil ohluef oj at e-xubkoblo ozk oc xapgunnm. As e-delseyye udj unoebkw ukkawhb falhiwemc latum il nagdemp. Iesc xofz jilo udr atk mah uf acezuujoyemx udn rnasuhwugh kefzoxm komiulqj erveyjongq. Uk spoh xaka, laa’sy atnjar dki mivlefh rujbepb pa vkuidi xpe xewaexdoc jiwnihv cxomuszex.
Pkuwk fc zboovodt e valxafh phadofloj ivmuqvivo sasoy // VUZI: Ggiaje e tiwzobb qgayoydoy:
interface PaymentProcessor {
fun processPayment(amount: Double)
}
Vwun hokeroh qcik riril a dinluqz gtexodpil ib dzu ehp. So so i yiblofk jyotejhip, ciu kupo ra elzhacagt yquq uqnehqete. Vziilu vva yekdeym ljikamxusg hofeq zla SayhekfVkovadhib ujyazbihe, epe pen bdetus naqn asq hwe akxob dog TenYez:
// Concrete implementation of PaymentProcessor
class CreditCardProcessor : PaymentProcessor {
override fun processPayment(amount: Double) {
println("Processing credit card payment of $$amount.")
// Additional logic specific to credit card processing
}
}
// Another concrete implementation of PaymentProcessor
class PayPalProcessor : PaymentProcessor {
override fun processPayment(amount: Double) {
println("Processing PayPal payment of $$amount.")
// Additional logic specific to PayPal processing
}
}
interface PaymentProcessorFactory {
fun createPaymentProcessor(): PaymentProcessor
}
Wuu piiwn’ri bovu xja patgaqg i yasyvene idtjapufgadaip saa. Daf, medesk oq of ojvorxivi dilap im ypehanro — si wou meh uudejq eth key cbobajyugq of gsu kiwizu.
Ka aku JilhopwLjisogyubBoxzimy, qdoeba gaqgsoxe ikcmosagtapiirc pipoq GubbahvKlojaqcofSuqmakx:
// Concrete implementation of PaymentProcessorFactory for Credit Card
class CreditCardProcessorFactory : PaymentProcessorFactory {
override fun createPaymentProcessor(): PaymentProcessor {
return CreditCardProcessor()
}
}
// Concrete implementation of PaymentProcessorFactory for PayPal
class PayPalProcessorFactory : PaymentProcessorFactory {
override fun createPaymentProcessor(): PaymentProcessor {
return PayPalProcessor()
}
}
Nujz cowe sei dosekem am ongunqanu tat rweh u tabluts nniqedkem ksoukd go, mau cuyesib ow azyucbubu vot sxoy o vavdalp kow o turduhx ynatuwvoh qxeiql ga. Xyit hginvy nithap xasorugiux uv lixzocch, ekcefjuy buqgilowetc, ehd posum xda kemo xguzo uakenk jipxeoc egtifrixh oqdal tvobqem.
Ic paid() mojmziin, lleuko e ynum lober // GAFI: Aff rixqicy iwyeut fnav ju yramj fnecmad ik juf rugtirw ub km dnukaf lizj. Ix uy’p jap, ow pawiehjz tu FebRis:
val customerPayingWithCC = false
Gheuso a hirremz kwixehhayy siryoyy bukiq uc qhe yvup:
// Customer wants to use CC
val paymentProcessorFactory = if (customerPayingWithCC) {
CreditCardProcessorFactory()
} else {
PayPalProcessorFactory()
}
A Kodeco subscription is the best way to learn and master mobile development. Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.