robertolima-dev / solid-typescript

Este repositório contém um projeto de aplicação de princípios SOLID em TypeScript. O objetivo deste projeto é ajudar os desenvolvedores a entender e aplicar os princípios SOLID ao desenvolvimento de software. O código inclui exemplos de código TypeScript que demonstram como aplicar os princípios SOLID.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


SOLID

O SOLID é um acrônimo para cinco princípios de programação orientada a objetos. Esses princípios são: Single Responsibility Principle (SRP), Open-Closed Principle (OCP), Liskov Substitution Principle (LSP), Interface Segregation Principle (ISP) e Dependency Inversion Principle (DIP).

O SRP diz que cada classe deve ter apenas uma responsabilidade. O OCP diz que as classes devem ser abertas para extensão, mas fechadas para modificação. O LSP diz que as subclasses devem ser substituíveis ​​por suas classes base. O ISP diz que as interfaces devem ser divididas em pequenas interfaces específicas. E o DIP diz que as dependências devem ser invertidas.

Esses princípios são usados ​​para ajudar os programadores a criar código de qualidade e manter a estrutura do código limpa e organizada.

Os cinco principios

  1. Single Responsibility Principle (SRP): O SRP diz que cada classe deve ter apenas uma responsabilidade. Isso significa que cada classe deve ter um único propósito e não deve ser responsável por mais do que isso. Isso ajuda a manter o código limpo e organizado, pois impede que as classes sejam sobrecarregadas com muitas responsabilidades.

  2. Open-Closed Principle (OCP): O OCP diz que as classes devem ser abertas para extensão, mas fechadas para modificação. Isso significa que as classes devem ser projetadas de forma a permitir que sejam estendidas para adicionar novas funcionalidades, mas não devem ser modificadas para corrigir erros ou adicionar novas funcionalidades. Isso ajuda a manter o código limpo e organizado, pois impede que as classes sejam modificadas desnecessariamente.

  3. Liskov Substitution Principle (LSP): O LSP diz que as subclasses devem ser substituíveis ​​por suas classes base. Isso significa que as subclasses devem ter a mesma funcionalidade que suas classes base e não devem alterar o comportamento das classes base. Isso ajuda a manter o código limpo e organizado, pois impede que as classes sejam modificadas desnecessariamente.

  4. Interface Segregation Principle (ISP): O ISP diz que as interfaces devem ser divididas em pequenas interfaces específicas. Isso significa que as interfaces devem ser divididas em pequenas interfaces específicas para cada tarefa. Isso ajuda a manter o código limpo e organizado, pois impede que as interfaces sejam sobrecarregadas com muitas responsabilidades.

  5. Dependency Inversion Principle (DIP): O DIP diz que as dependências devem ser invertidas. Isso significa que as classes devem depender das abstrações e não das implementações. Isso ajuda a manter o código limpo e organizado, pois impede que as classes sejam dependentes de outras classes específicas.

Benefícios

  1. Código de qualidade: O uso dos princípios SOLID ajuda a garantir que o código seja de qualidade, pois impede que as classes sejam sobrecarregadas com muitas responsabilidades.

  2. Manutenção fácil: O uso dos princípios SOLID ajuda a garantir que o código seja fácil de manter, pois impede que as classes sejam modificadas desnecessariamente.

  3. Reutilização de código: O uso dos princípios SOLID ajuda a garantir que o código seja reutilizável, pois impede que as classes sejam dependentes de outras classes específicas.

  4. Testabilidade: O uso dos princípios SOLID ajuda a garantir que o código seja testável, pois impede que as classes sejam sobrecarregadas com muitas responsabilidades.

  5. Flexibilidade: O uso dos princípios SOLID ajuda a garantir que o código seja flexível, pois impede que as classes sejam modificadas desnecessariamente.




Copyright © 2023 - robertolima-dev

LICENÇA

About

Este repositório contém um projeto de aplicação de princípios SOLID em TypeScript. O objetivo deste projeto é ajudar os desenvolvedores a entender e aplicar os princípios SOLID ao desenvolvimento de software. O código inclui exemplos de código TypeScript que demonstram como aplicar os princípios SOLID.


Languages

Language:TypeScript 100.0%