<palign="justify">Nesta seção iremos explicar sobre os estilos e padrões arquiteturais que foram selecionados para desenvolver o framework proposto.</p>
## 4.1. Estilos Arquiteturais
Como já foi dito e será melhor detalhado visualmente falando no [Diagrama de Classes](#43-Diagrama-de-Classes), a problemátiva envolve o consumo de dados de diferentes bancos de dados, com diversas restrições e especificações de acesso e configuração. A partir disso, a equipe modelou o <i>Framework</i> utilizando o Estilo Arquitetural N-Camadas, que é geralmente utilizado para a modelar a interface de subsistemas, organizando-o em um conjunto de camadas - ou máquinas abstratas -, onde essas camadas em específico são responsáveis por fornecer diferentes tipos de serviços.
Esse Estilo arquitetural define que se uma camada é alterada, normalmente, as camadas dependentes à ela serão afetadas também.
A modelagem do <i>Framework</i> então foi feita baseando-se em três camadas: Configuração, Conexão e Consumo.
<palign="justify">Como já foi dito e será melhor detalhado visualmente falando no <ahref="#42-Diagrama-de-Classes">Diagrama de Classes</a>, a problemátiva envolve o consumo de dados de diferentes bancos de dados, com diversas restrições e especificações de acesso e configuração. A partir disso, a equipe modelou o <i>Framework</i> utilizando o Estilo Arquitetural N-Camadas, que é geralmente utilizado para a modelar a interface de subsistemas, organizando-o em um conjunto de camadas - ou máquinas abstratas -, onde essas camadas em específico são responsáveis por fornecer diferentes tipos de serviços.</p>
<palign="justify">Esse Estilo arquitetural define que se uma camada é alterada, normalmente, as camadas dependentes à ela serão afetadas também.
<palign="justify">A modelagem do <i>Framework</i> então foi feita baseando-se em três camadas: Configuração, Conexão e Consumo.
</p>
***Configuração**:
***Conexão**:
***Consumo**:
***Configuração**: Camada mais baixa do framework, é responsável por realizar e disponibilizar a completa configuração dos diversos tipos de SGBDs a serem utilizados nos projetos. Essa camada recebe parâmetros de configuração como porta de conexão, ip da base de dados, nome, etc, e retorna uma configuração estável para ser utilizada pelas demais camadas. A alteração nessa camada não afeta as demais, mas ela é estritamente necessária para construir as camadas de conexão e de consumo;
***Conexão**: Camada intermediária do framewok, é responsável por realizar a total conexão e execução de query nos diversos bancos de dados. Utilizando a camada de Configuração, essa camada é capaz de realizar tranquilamente a comunicação com os SGBDs criados, recebendo os dados das bases de dados, formatando-os e disponibilizando-os para a camada de consumo. As alterações nessa camada implicam simplesmente modificações na camada de Consumo, existindo um certo tipo de hierarquia entre as mesmas;
***Consumo**: Camada mais superior do framework, é responsável por receber a requisição das tecnologias que estão consumindo o framework (api, web service, etc), comunicar-se com a camara de conexão utilizando a camada de configuração e retornar os dados para o cliente. Essa camada é responsável pela definição e instanciação do framework, e é a camada de relacionamento direto com os utilizadores do Inter Database.