Design de Código vs Arquitetura de Software
Design e Arquitetura de Software é a mesma coisa? Muitas pessoas não sabem a diferença entre Design de Código e Arquitetura de Software.
Provavelmente você já ouviu falar nesses dois termos, mas você sabe a diferença entre os dois? Existem semelhanças e diferenças entre cada um.
Design de código
Design orientado a objetos é a disciplina de definir os objetos e suas interações para resolver um problema que foi identificado e documentado durante a análise orientada a objetos.
Arquitetura de software
A arquitetura de software de um sistema consiste na definição dos componentes de software, suas propriedades externas, e seus relacionamentos com outros softwares.
Entendeu? Eu creio que não! rs
Vamos para uma explicação um pouco mais humana.
Um arquiteto faz a planta da casa.
Um designer de interiores define como os móveis vão estar.
Logo, design é como estarão os móveis na casa, qual a iluminação melhor para cada ambiente, a harmonia das cores…
A arquitetura é como cada espaço será ocupado da melhor forma na casa.
No mundo da TI…
A arquitetura de software é como cada diretório é organizado, definindo qual a melhor arquitetura para chegar à solução desejada. É uma visão de alto nível, de como você irá organizar seu sistema.
Já no design de código nós entramos no baixo nível, entendo como funciona a orientação a objetos, quantidade de atributos em uma classe, desacoplando um objeto. Como uma classe se comunica com outra, como escrever um método…
Resumindo
Na arquitetura pensamos em alto nível, como estruturar os diretórios, camadas, pacotes etc… Design de código é um pouco mais baixo nível, como relacionar classes e escrever métodos.