Independentemente da plataforma, os desenvolvedores de aplicativos corporativos enfrentam vários desafios:
Com isso em mente, é importante criar aplicativos que possam ser facilmente modificados ou estendidos ao longo do tempo. Projetar para tal adaptabilidade pode ser difícil, pois requer uma arquitetura que permita que partes individuais do aplicativo sejam desenvolvidas de forma independente e testadas isoladamente sem afetar o restante do aplicativo. A abordagem tradicional para projetar e construir um aplicativo resulta no que é chamado de aplicativo monolítico, em que os componentes são fortemente acoplados sem uma separação clara entre eles. Normalmente, essa abordagem monolítica leva a aplicativos difíceis e ineficientes de manter, pois pode ser difícil resolver bugs sem quebrar outros componentes do aplicativo e pode ser difícil adicionar novos recursos ou substituir recursos existentes. Uma solução eficaz para esses desafios é particionar um aplicativo em componentes discretos e fracamente acoplados que podem ser facilmente integrados em um aplicativo. Essa abordagem oferece vários benefícios:
No entanto, há muitos problemas que devem ser resolvidos ao particionar um aplicativo em componentes discretos e fracamente acoplados. Segue abaixo algumas boas práticas: |