Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    • Por que escalar escrita é tão mais difícil do que escalar leitura?
    • MongoDB Analyzer para .NET: Visualize e otimize suas consultas de forma simples
    • Cardinalidade: O Conceito que Transforma o Desempenho de Bancos de Dados SQL e NoSQL
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Tecnologia»Padrões de Projeto»Princípios de Design de Software – Parte 1

    Princípios de Design de Software – Parte 1

    Jhonathan SoaresBy Jhonathan Soares11 de fevereiro de 20203 Mins Read Padrões de Projeto
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    Introdução

    Este artigo é sobre os princípios de design de software que usamos no dia a dia de um engenheiro de software. Este artigo começa com a introdução de importantes princípios de design de software. Também discutiremos as definições de vários padrões de design. E ao final pretendo fazer um apanhado geral de todos para mostrar exemplos de utilização.

    Quais são os princípios de design de software?

    Os princípios de design de software são um conjunto de diretrizes que ajudam os desenvolvedores a criar um bom design de sistema. Eles ajudarão você a criar um design limpo e modular, que seria fácil de testar, depurar e manter no futuro.

    Lista de princípios de design

    Anotei importantes princípios de design orientado a objetos e coloquei aqui para referência rápida. Pelo menos, você terá uma ideia do que são e dos benefícios que oferecem. Eu tentei organizar a lista de acordo com duas regras. Em primeiro lugar, do mais simples ao mais difícil e, em segundo lugar, a ordem de importância (embora tudo seja importante)

    1. Princípio DRY
    2. Princípio YAGNI
    3. Princípio KISS
    4. Princípio SOLID

    Obs: Veremos mais princípios ao longo dessa série de posts, vamos começar com esses quatro.

    Normalmente estes princípios possuem abreviações, explicações e detalhes associados. Vamos analisar as definições de cada um listados acima.

    Princípio DRYP – DON’T REPEAT YOURSELF

    Esse princípio leva a reduzir a repetição no código. Reduzir o código repetido também reduz a necessidade de replicar as alterações aplicadas a um código que foi reutilizado em muitos locais da sua lógica sem uma abstração adequada para centralizar seu uso e evitar a repetição.

    Princípio YAGINI – YOU AREN’T GONNA NEED IT

    Não adicione nenhuma funcionalidade ao seu código até que seja realmente necessário tê-lo lá. Esse princípio nos guia a evitar a inclusão de funcionalidades no seu código que você acha que serão necessárias para o futuro, mas que não têm utilidade no presente.

    Princípio KISS – KEEP IT SIMPLE STUPID

    Mantenha o código simples e facilmente compreensível. Esse princípio nos orienta a escrever código que é ouvido para ler e manter. Algumas dicas para fazer isso são:

    • Mantenha os métodos pequenos (menos de 40 linhas).
    • Dê nomes significativos aos seus métodos e variáveis.
    • Não abuse dos comentários, torne o código compreensível sem a necessidade de comentar tudo.
    • Crie métodos para resolver peças pequenas.

    Princípio SOLID

    Solid é um conjunto de princípios (muito utilizados na programação orientada à objeto) destinados a tornar os projetos de software mais flexíveis e sustentáveis. Ajuda a criar software com código mais coeso e menos acoplamento. Pretendo, logo fazer um artigo falando apenas de S.O.L.I.D com exemplos em .net.

    Cada letra da sigla corresponde a um princípio:

    • S – Princípio Single Responsibility: Uma classe deve ter apenas uma única responsabilidade, apenas um motivo para existir. (alta coesão, baixo acoplamento)
    • O – Princípio Open/Close : As entidades devem estar abertas para extensão, mas fechadas para modificação.
    • L – Princípio Liskov substitution: Os objetos devem ser substituíveis por instâncias de seus subtipos sem alterar a correção do programa, caso contrário, você pode estar usando a abstração errada.
    • I – Princípio Interface segregation: Toda classe deveria possuir um contrato com seus métodos e este “contrato” seria a interface.
    • D – Princípio Dependency inversion: Depender de abstrações, não de concreções afim de reduzir o acoplamento.

    Neste artigo, discuti os principais padrões de design de software, suas abreviações, introdução e uma breve discussão sobre o uso. Indo além, na próxima parte discutiremos cada um deles individualmente com mais detalhes e exemplos.

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Jhonathan Soares
    • Website
    • Facebook
    • X (Twitter)
    • LinkedIn

    Criador do blog Código Simples e com mais 15 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist.

    Posts Relacionados

    Os seis princípios da arquitetura de dados moderna

    Dicas Padrões de Projeto 23 de julho de 20195 Mins Read

    Quando usar IEnumerable ICollection, IList e List em asp.net c#

    Asp.net C# Padrões de Projeto 10 de abril de 20146 Mins Read

    O básico sobre o que você precisa saber sobre Padrões de Projeto | .Net Design Patterns

    Asp.net Boas práticas Padrões de Projeto 30 de março de 20144 Mins Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    Categorias
    • Arquitetura (14)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (90)
      • NoSql (58)
      • Sql (38)
    • Boas práticas (29)
      • Gestão & Produtividade (1)
      • Metodologias Ágeis (6)
    • Cursos (52)
    • Dicas (105)
    • Front-End (92)
    • IA (1)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile