# Dependency Inversion Principle

Published articles for Dependency Inversion Principle.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Maximizing Shared Code in Kotlin Multiplatform Apps

DevFeed: [Maximizing Shared Code in Kotlin Multiplatform Apps](<https://devfeed.tech/articles/the-art-of-multiplatform-programming-the-secret-to-maximizing-shared-code-34121.md>)

Original publisher: [Read original article](<https://artandscienceofcoding.com/science/kmm-maximizing-shared-code/>)

Author: Derek Lee

Published: 2022-10-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [art and science of coding](<https://devfeed.tech/sources/art-and-science-of-coding.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Dependency Inversion](<https://devfeed.tech/topics/dependency-inversion.md>), [Maintainability](<https://devfeed.tech/topics/maintainability.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [dependency-inversion](<https://devfeed.tech/tags/dependency-inversion.md>), [dependency-inversion-principle](<https://devfeed.tech/tags/dependency-inversion-principle.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [programming](<https://devfeed.tech/tags/programming.md>), [science](<https://devfeed.tech/tags/science.md>)

### AI overview

This tutorial explains how to maximize shared code in Kotlin Multiplatform applications for iOS and Android. It recommends isolating platform dependencies behind a platform-independent interface and using Dependency Injection and the Dependency Inversion Principle to improve maintainability and reusability.

### Source excerpt

TL/DR; - Writing your platform-dependent code for iOS or Android requires first understanding the platform API dependencies to help you craft a shared platform-independent interface. - Isolate platform dependencies to the smallest surface area possible to increase maintainability and reusability. - Leveraging Dependency Injection (DI) and the Dependency Inversion Principle (DIP) is key to effective multiplatform programming.

## Dependency Inversion Principle

DevFeed: [Dependency Inversion Principle](<https://devfeed.tech/articles/dependency-inversion-principle-40667.md>)

Original publisher: [Read original article](<https://radek.io/posts/dependency-inversion-principle/>)

Published: 2011-08-10T00:00:00Z

Content type: article

Language: en

Sources: [Radek Pazdera](<https://devfeed.tech/sources/radek-pazdera.md>)

Topics: [Dependency Inversion](<https://devfeed.tech/topics/dependency-inversion.md>), [abstraction](<https://devfeed.tech/topics/abstraction.md>), [interface](<https://devfeed.tech/topics/interface.md>), [object](<https://devfeed.tech/topics/object.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [dependency-inversion](<https://devfeed.tech/tags/dependency-inversion.md>), [dependency-inversion-principle](<https://devfeed.tech/tags/dependency-inversion-principle.md>), [interface](<https://devfeed.tech/tags/interface.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [object-oriented](<https://devfeed.tech/tags/object-oriented.md>), [software](<https://devfeed.tech/tags/software.md>), [solid](<https://devfeed.tech/tags/solid.md>)

### AI overview

The article explains the Dependency Inversion Principle, the D in SOLID, for object-oriented software design. It argues that high-level and low-level modules should depend on abstractions, while details should depend on those abstractions, improving module reuse and reducing direct coupling.

### Source excerpt

SOLID Object-Oriented Design

## SOLID Object-Oriented Design

DevFeed: [SOLID Object-Oriented Design](<https://devfeed.tech/articles/solid-object-oriented-design-40741.md>)

Original publisher: [Read original article](<https://radek.io/posts/solid-object-oriented-design/>)

Published: 2011-08-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [Radek Pazdera](<https://devfeed.tech/sources/radek-pazdera.md>)

Topics: [object](<https://devfeed.tech/topics/object.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Software](<https://devfeed.tech/topics/software.md>), [interface](<https://devfeed.tech/topics/interface.md>), [Dependency Inversion](<https://devfeed.tech/topics/dependency-inversion.md>)

Tags: [dependency-inversion-principle](<https://devfeed.tech/tags/dependency-inversion-principle.md>), [interface](<https://devfeed.tech/tags/interface.md>), [object-oriented](<https://devfeed.tech/tags/object-oriented.md>), [solid](<https://devfeed.tech/tags/solid.md>)

### AI overview

The article introduces SOLID, an acronym for five principles of object-oriented programming and design: single responsibility, open/closed, Liskov substitution, interface segregation, and dependency inversion. It presents them as guidelines intended to support systems that are easier to maintain and extend over time.

### Source excerpt

I build software products and write on the Internet.