# Interface Segregation Principle

Prefer small, focused interfaces so classes only provide what they need.

## What is **Interface Segregation Principle**?

The **Interface Segregation Principle** says to prefer several small interfaces over one big one, so classes aren't forced to provide methods they don't need.

```csharp
// Instead of one IMachine with Print, Scan and Fax:
public interface IPrinter { void Print(string doc); }
public interface IScanner { string Scan(); }

public class BasicPrinter : IPrinter { public void Print(string doc) { } }
```

Level: Freelancer · [More OOP terms at this level](https://www.ask-codey.com/glossary/subjects/oop/freelancer)

Updated: September 27, 2026

Source: https://www.ask-codey.com/glossary/interface-segregation-principle
