Arquitetura

Do Universo

ao Front-end

4.600.000.000

anos no passado.

Teoricamente,

Pra quem não sabe onde vai

Qualquer caminho serve

Com o tempo, a poeira cósmica presente na nebulosa solar colidiam entre elas

Formando o sistema planetário como o conhecemos hoje

De lá pra cá

muito aconteceu...

1989

Tim Berners-Lee cria a
World Wide Web

1989

Delegado o TLD .br ao Brasil

1993

CERN disponibiliza a Web ao mundo

Linked information systems

  • People
  • Software modules
  • Groups of people
  • Projects
  • Concepts
  • Documents
  • Types of hardware
  • Specific hardware objects
  • depends on B
  • is part of B
  • made B
  • refers to B
  • uses B
  • is an example of B

The arrows which links circle A to circle B can mean, for example, that A...

In providing a system for manipulating this sort of information, the hope would be to allow a pool of information to develop which could grow and evolve with the organisation and the projects it describes. For this to be possible, the method of storage must not place its own restraints on the information. This is why a "web" of notes with links (like references) between them is far more useful than a fixed hierarchical system. When describing a complex system, many people resort to diagrams with circles and arrows. Circles and arrows leave one free to describe the interrelationships between things in a way that tables, for example, do not. The system we need is like a diagram of circles and arrows, where circles and arrows can stand for anything.

We can call the circles nodes, and the arrows links. Suppose each node is like a small note, summary article, or comment. I'm not over concerned here with whether it has text or graphics or both. Ideally, it represents or describes one particular person or object. Examples of nodes can be

Diagram Nodes are Arrows mean
Family tree People "Is parent of"
Dataflow diagram Software modules "Passes data to"
Dependency Module "Depends on"
PERT chart Tasks "Must be done before"
Organisational chart People "Reports to"
Diagram Nodes are Arrows mean
Family tree People "Is parent of"
Dataflow diagram Software modules "Passes data to"
Dependency Module "Depends on"
PERT chart Tasks "Must be done before"
Organisational chart People "Reports to"
Diagram Nodes are Arrows mean
Family tree People "Is parent of"
Dataflow diagram Software modules "Passes data to"
Dependency Module "Depends on"
PERT chart Tasks "Must be done before"
Organisational chart People "Reports to"
Diagram Nodes are Arrows mean
Family tree People "Is parent of"
Dataflow diagram Software modules "Passes data to"
Dependency Module "Depends on"
PERT chart Tasks "Must be done before"
Organisational chart People "Reports to"
Diagram Nodes are Arrows mean
Family tree People "Is parent of"
Dataflow diagram Software modules "Passes data to"
Dependency Module "Depends on"
PERT chart Tasks "Must be done before"
Organisational chart People "Reports to"
Diagram Nodes are Arrows mean
Family tree People "Is parent of"
Dataflow diagram Software modules "Passes data to"
Dependency Module "Depends on"
PERT chart Tasks "Must be done before"
Organisational chart People "Reports to"

1993

HTML 1

2000

Design principles
and
Design Patterns

2003

Domain-Driven Design (DDD)

2008

Clean Code

2012

Clean Architecture

Camadas

Camadas

Camadas

Camadas

Mercúrio

Assim como o HTML, o CSS, eles estão na linha de frente.

A ausência de uma camada de gases, como a atmosfera que temos e a distância do sol torna as temperaturas por lá bastante elevadas.

Não tem satélites naturais e sua superfície possui muitas crateras de impactos antigos.

Mercúrio

Assim como o HTML, o CSS, eles estão na linha de frente.

A ausência de uma camada de gases, como a atmosfera que temos e a distância do sol torna as temperaturas por lá bastante elevadas.

Não tem satélites naturais e sua superfície possui muitas crateras de impactos antigos.

Vênus

Apesar de estar mais longe do Sol que Mercúrio, é o planeta mais quente do sistema.

A chuva por lá, é composta de ácido sulfúrico e é extremamente corrosiva.

Ela evapora antes mesmo de chegar tocar o solo.

Chegar até lá e se manter vivo ou funcionando exige muito planejamento, assim como projetos em JavaScript.

Terra

O único lugar com formas de vida confirmadas.

Devido a disponibilidade de água e uma atmosfera bem desenvolvida, a evolução das espécies é algo natural.

É o lugar perfeito para absorver e aproveitar a energia solar sem prejuízos.

Porém, mesmo sem necessidade, mudanças por aqui são muito frequentes.

Marte

Assim como a terra, ele tem fina atmosfera.

Possui vulcões extintos, desfiladeiros, entre outras características geológicas.

Poderia abrigar vida, 

É o lugar perfeito para absorver e aproveitar a energia solar sem prejuízos.

É a segurança que as regras de negócio precisam.

No entanto, o CO2 domina com 96% a composição dela e somente 0,13% é O2, o restante da composição do ar é de N2 e Ar.

Como funciona a arquitetura cósmica?

Camadas

Camadas

Direção de dependências

Camadas

Direção de dependências

Não se trata de software

Estamos falando de uma regra natural e universal

Dependências
Dependências
e + dependências...

Imagine se...

A principal regra de negócio do projeto depende de uma biblioteca externa, mantida por pessoas de países diferentes, com diferentes prioridades, em diferentes momentos de carreira.

Agora pense

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin urna odio, aliquam vulputate faucibus id, elementum lobortis felis. Mauris urna dolor, placerat ac sagittis quis.

Eis que o projeto simplesmente é descontinuado.

Universo e Arquitetura Front-end

By Guilherme Siquinelli

Universo e Arquitetura Front-end

  • 132