Determinar sua estratégia de solução e ambiente
Esta unidade fornece um exemplo do desenvolvimento de sua estratégia de ambiente e solução do início ao fim. A primeira tarefa é exibir as soluções. Em seguida, você descreverá como deseja que seja a segmentação de solução. Este exemplo usa a segmentação de solução vertical.
Além disso, o exemplo aplica uma estratégia de ambiente para se alinhar com a arquitetura da solução. Sempre armazene a solução do editor para ter acesso rápido ao configurar um novo ambiente de desenvolvimento.
Considere os seguintes parâmetros ao armazenar soluções do editor:
O armazenamento da solução do editor na origem permitirá compartilhar o editor com novos ambientes de desenvolvimento como uma solução não gerenciada para garantir que não sejam cometidos erros durante a configuração de um editor.
É recomendável usar um único editor para todo o trabalho.
Camadas da solução
A imagem a seguir mostra como são as camadas após a implantação, quando você usa soluções gerenciadas.
Para plug-ins, o processamento de Mensagens do SDK criará dependências, que imporão uma ordem de importação de soluções. Portanto, as montagens de plug-in geralmente são importadas primeiro.
Estratégia de ambiente e solução na prática
Este exemplo tem três soluções que são segmentadas por um aplicativo com componentes compartilhados que residem em uma solução separada.
Essa estratégia não é a resposta definitiva para a arquitetura da solução, mas é um bom ponto de partida para você compreender a segmentação adequada da solução. A estratégia contém as seguintes soluções:
Principal: essa solução contém componentes compartilhados.
Admissões: essa solução contém toda a funcionalidade desenvolvida especificamente para o departamento de Admissões. Essa solução depende dos componentes na solução Principal.
Assistência Financeira: essa solução contém toda a funcionalidade desenvolvida especificamente para o departamento de Assistência Financeira. Essa solução depende dos componentes na solução Principal
Configuração do processo de desenvolvimento
Com a compreensão de quais são suas soluções, agora você poderá determinar como configurar os ambientes de desenvolvimento. Para começar, você estabelecerá um fluxo de trabalho para a solução principal.
Suponha que o ambiente superior seja dedicado ao desenvolvimento da solução Principal, que contém componentes compartilhados. Para começar, você criará a solução Principal no ambiente de desenvolvimento de destino. Ao criar soluções, você as criará como não gerenciadas e só poderá alterá-las para gerenciadas durante o processo de exportação.
Seguindo o padrão de inclusão das dependências como soluções gerenciadas, você precisará concluir determinadas tarefas antes de usar a solução Principal downstream, supondo que esteja começando do início.
Para introduzir a solução Principal em seus ambientes de desenvolvimento para Admissões e Assistência Financeira, você precisará ter uma base de código viável a fim de permitir o desenvolvimento dos aplicativos em camadas.
Ter uma base de código viável não impede que você inicie o desenvolvimento nos aplicativos em camadas, pois eles podem ter componentes exclusivos que não têm dependências. Para simplificar, você começará a criar a solução Principal primeiro.
Suponha que você tenha concluído o sprint de desenvolvimento na solução Principal e incluído as alterações no repositório. Em seguida, você implantará a solução Principal gerenciada nos ambientes de desenvolvimento de Admissões e Assistência Financeira.
Motivos para introduzir uma solução não gerenciada para cada ambiente
Com a introdução de apenas uma solução não gerenciada para cada ambiente, você eliminará a possibilidade de injetar dependências indesejadas.
Além disso, essa abordagem permite que você use com eficiência a segmentação e as camadas da solução.
Obter a solução gerenciada
Com as dependências em vigor, agora podemos introduzir as outras soluções.
Você criará ou importará as soluções de Admissões e Assistência Financeira em seus respectivos ambientes.
Um ambiente poderá ter mais de uma solução não gerenciada instalada se for possível garantir que as outras soluções não introduzirão dependências. Esse conceito pode fazer mais sentido em determinados casos.