# reuse

Software reuse is the practice of using existing software artifacts in new systems or contexts with minimal modification.

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

## Why the DRY Principle Is Often Misunderstood in Software Design

DevFeed: [Why the DRY Principle Is Often Misunderstood in Software Design](<https://devfeed.tech/articles/dry-do-repeat-yourself-39901.md>)

Original publisher: [Read original article](<https://mende.io/blog/dry-do-repeat-yourself/>)

Author: tobi@techunicorn.builders (Tobias Mende)

Published: 2022-04-30T13:13:00Z

Content type: opinion

Language: en

Sources: [Tobias Mende](<https://devfeed.tech/sources/tobias-mende.md>)

Topics: [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [abstraction](<https://devfeed.tech/topics/abstraction.md>), [reuse](<https://devfeed.tech/topics/reuse.md>), [maintenance](<https://devfeed.tech/topics/maintenance.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [component](<https://devfeed.tech/tags/component.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [practices-software-development-software-craft](<https://devfeed.tech/tags/practices-software-development-software-craft.md>), [reuse](<https://devfeed.tech/tags/reuse.md>), [software-design](<https://devfeed.tech/tags/software-design.md>)

### AI overview

The article argues that the DRY principle is frequently misapplied in software development. Reusing code can reduce duplication but may introduce dependencies, rigid contracts, and abstractions that are difficult to change, especially when systems evolve independently.

### Source excerpt

DRY - DO repeat yourself When I started my career as a software developer and already during university, almost no principle was mentioned as often as the DRY principle: "Do not repeat yourself"

## Effective Kotlin Item 36: Prefer composition over inheritance

DevFeed: [Effective Kotlin Item 36: Prefer composition over inheritance](<https://devfeed.tech/articles/effective-kotlin-item-36-prefer-composition-over-inheritance-39274.md>)

Original publisher: [Read original article](<https://kt.academy/article/ek-composition>)

Published: 2021-04-25T00:00:00Z

Content type: article

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [Inheritance](<https://devfeed.tech/topics/inheritance.md>), [Object-oriented programming (OOP)](<https://devfeed.tech/topics/oop.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [reuse](<https://devfeed.tech/topics/reuse.md>), [superclass](<https://devfeed.tech/topics/superclass.md>)

Tags: [approach](<https://devfeed.tech/tags/approach.md>), [behavior](<https://devfeed.tech/tags/behavior.md>), [hierarchy](<https://devfeed.tech/tags/hierarchy.md>), [inheritance](<https://devfeed.tech/tags/inheritance.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [object](<https://devfeed.tech/tags/object.md>), [oop](<https://devfeed.tech/tags/oop.md>), [reuse](<https://devfeed.tech/tags/reuse.md>), [superclass](<https://devfeed.tech/tags/superclass.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

The article argues that inheritance should primarily model a clear "is a" relationship and can be problematic when used mainly for code extraction or reuse. It presents class composition as a safer and more explicit alternative, while acknowledging that composition requires additional code.

### Source excerpt

Years of OOP made us overuse inheritance. Instead, we should more often use a composition that is safer and more explicit. More often, but not always...

## Wrapping a jQuery plugin in a Ember.js component (Screencast)

DevFeed: [Wrapping a jQuery plugin in a Ember.js component (Screencast)](<https://devfeed.tech/articles/wrapping-a-jquery-plugin-in-a-ember-js-component-screencast-40629.md>)

Original publisher: [Read original article](<https://eviltrout.com/blog/2014-06-03-jquery-component/>)

Published: 2014-06-03T00:00:00Z

Content type: tutorial

Language: en

Sources: [Robin Ward](<https://devfeed.tech/sources/robin-ward.md>)

Topics: [Ember](<https://devfeed.tech/topics/ember.md>), [jQuery](<https://devfeed.tech/topics/jquery.md>), [reuse](<https://devfeed.tech/topics/reuse.md>)

Tags: [component](<https://devfeed.tech/tags/component.md>), [ember](<https://devfeed.tech/tags/ember.md>), [js](<https://devfeed.tech/tags/js.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [reuse](<https://devfeed.tech/tags/reuse.md>)

### AI overview

A screencast demonstrates how to wrap a jQuery plugin in an Ember.js component for reuse.

### Source excerpt

Time for another screencast! This one is shorter and shows how easy it is to wrap a jQuery plugin in an Ember.js component for reuse.

## Interface Segregation Principle

DevFeed: [Interface Segregation Principle](<https://devfeed.tech/articles/interface-segregation-principle-40702.md>)

Original publisher: [Read original article](<https://radek.io/posts/interface-segregation-principle-in-software-design/>)

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

Content type: tutorial

Language: en

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

Topics: [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [interfaces](<https://devfeed.tech/topics/interfaces.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Inheritance](<https://devfeed.tech/topics/inheritance.md>), [abstraction](<https://devfeed.tech/topics/abstraction.md>), [reuse](<https://devfeed.tech/topics/reuse.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [code](<https://devfeed.tech/tags/code.md>), [inheritance](<https://devfeed.tech/tags/inheritance.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [reuse](<https://devfeed.tech/tags/reuse.md>), [software-design](<https://devfeed.tech/tags/software-design.md>), [solid](<https://devfeed.tech/tags/solid.md>)

### AI overview

This tutorial explains the Interface Segregation Principle, the final principle in the SOLID object-oriented design set. It describes how oversized interfaces create unused or dummy methods and recommends splitting them into smaller, purpose-specific interfaces, illustrated with a car example involving automatic transmission and air conditioning.

### Source excerpt

I build software products and write on the Internet.