Reader small image

You're reading from  Kotlin Design Patterns and Best Practices - Third Edition

Product typeBook
Published inApr 2024
PublisherPackt
ISBN-139781805127765
Edition3rd Edition
Right arrow
Author (1)
Alexey Soshin
Alexey Soshin
author image
Alexey Soshin

Alexey Soshin is a software architect with 18 years of experience in the industry. He started exploring Kotlin when Kotlin was still in beta, and since then has been a big enthusiast of the language. He's a conference speaker, published writer, and the author of a video course titled Pragmatic System Design
Read more about Alexey Soshin

Right arrow

Bridge

The Bridge design pattern is a great tool for avoiding the pitfalls of overusing inheritance and creating more flexible, maintainable code. It helps in separating abstractions from their implementations, allowing for better extensibility.

Let’s imagine we want to build a system to manage different kinds of troopers for the Galactic Empire.

We’ll begin by defining an interface to represent the basic behavior of a trooper:

interface Trooper {
    fun move(x: Long, y: Long)
    fun attackRebel(x: Long, y: Long)
}

With this interface, we establish the fundamental behavior that all troopers should have. Next, we’ll move on to implementing different types of troopers:

open class StormTrooper : Trooper {
    override fun move(x: Long, y: Long) {
        // Move at normal speed
    }
    override fun attackRebel(x: Long, y: Long) {
        // Missed most of the time
    }
}
open class ShockTrooper : Trooper {
    override fun move(x: Long,...
lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Kotlin Design Patterns and Best Practices - Third Edition
Published in: Apr 2024Publisher: PacktISBN-13: 9781805127765

Author (1)

author image
Alexey Soshin

Alexey Soshin is a software architect with 18 years of experience in the industry. He started exploring Kotlin when Kotlin was still in beta, and since then has been a big enthusiast of the language. He's a conference speaker, published writer, and the author of a video course titled Pragmatic System Design
Read more about Alexey Soshin