SOLID-D
D - Принцип разделения интерфейса (Interface Segregation Principle):
Этот принцип утверждает, что клиенты не должны зависеть от интерфейсов, которые они не используют. Вместо этого следует создавать маленькие и специфичные интерфейсы для каждого клиента.
// Плохой пример: нарушение принципа разделения интерфейса
interface Worker {
fun work()
fun eat()
}
class Engineer : Worker {
override fun work() {
// Реализация работы инженера
}
override fun eat() {
// Реализация перерыва на обед
}
}
// Хороший пример: использование маленьких интерфейсов
interface Workable {
fun work()
}
interface Eatable {
fun eat()
}
class Engineer : Workable, Eatable {
override fun work() {
// Реализация работы инженера
}
override fun eat() {
// Реализация перерыва на обед
}
}