Urgent.News

What's breaking now, across thousands of outlets.

Editions

Tech

PRINCÍPIO DA SEGREGAÇÃO DE INTERFACES

Nenhuma classe deve ser dependente de métodos que não precisa. Um exemplo seria uma interface “Máquina”, que força os métodos print( ) , scan( ) e fax( ) . Nem toda máquina tem esses 3 métodos. Então criamos as interfaces IPrinter , IScanner e IFax . Agora uma máquina assina apenas os contratos que realmente precisa e cumpre apenas esses. Exemplo de Código (Opcional - Ilustrando o texto): // ❌…

Segregação de Interfaces (ISP) é um princípio central de design de software que afirma que uma classe nunca deve depender de métodos que não utiliza. Em vez disso, a interface deve ser flexível e reutilizável para diferentes casos. A criação de interfaces genéricas com métodos desnecessários pode prejudicar essa reutilização e acelerar o acoplamento do código.

Um exemplo clássico seria um sistema de blog onde todos os usuários assinam o mesmo contrato de ações. Isso resulta em interfaces com excesso de funcionalidade, como uma interface "UserActions" com métodos como "readPost", "writePost", e "banUser". No entanto, usuários comuns não precisam ou não devem ter acesso a métodos como "banUser".

Para solucionar esse problema, o ISP sugere que o contrato seja dividido em pequenos interfaces bem definidos. Em vez de uma única interface "UserActions", podemos ter interfaces menores como "IReader", "IWriter" e "IAdmin". Isso permite que os usuários assinem apenas os métodos relevantes para seu papel na aplicação.

Valorizando a segregação de interfaces, o código se torna mais modular, flexível e fácil de manter. Mudanças no comportamento de um contrato específico, como "banUser", não exigirão atualizações em classes como "StandardUser". Em vez disso, o sistema pode ser construído como um conjunto de Lego, permitindo que blocos (contratos) se encaixem conforme necessário.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

AI data giant Alation confirms cyberattack

The data search and AI giant confirmed unauthorized access to its systems during an incident on Tuesday, and said it was investigating the breach.

  • Alation confirms isolated cyberattack on one system
  • Over 500 global corporations use Alation's AI software
  • Nature and extent of breach not disclosed by company

INTERFACE SEGREGATION PRINCIPLE

No class should be dependent on methods it doesn't need. An example would be a "Machine" interface that forces the print() , scan() , and fax() methods. Not every machine has these 3 methods.

More from Thursday 20 August →