Modularidade para otimizar o desenvolvimento contínuo

Simulação de Eventos Discretos em Python

Diogo Costa (PhD, MSc)

Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific

O que é escalabilidade de modelo?

  • Expandir capacidades ao longo do tempo
  • Sem perder desempenho ou quebrar

Termo “modelo escalável”

  • Uso comum: aumentar capacidade conforme a demanda
  • Em modelos de eventos discretos: expandir e manter estabilidade

Importância

  • Essencial para sucesso e valor de longo prazo
  • Capacidade de evoluir
  • Boas práticas de código, como modularidade
Simulação de Eventos Discretos em Python

Modelos escaláveis e menos escaláveis

Modelo escalável

Diagrama mostrando um modelo modular mais escalável porque o código é bem compartimentado, então módulos podem ser adicionados, removidos ou trocados sem mudar a estrutura do modelo.

Modelo menos escalável

Diagrama mostrando um modelo menos modular, portanto menos escalável, porque o código não é bem compartimentado; assim, módulos não podem ser facilmente adicionados, removidos ou trocados sem mudanças na estrutura.

Simulação de Eventos Discretos em Python

Modularidade do modelo

  • Componentes (módulos) intercambiáveis

  • Processos separados em funções distintas

  • Módulos chamados várias vezes

  • Em vez de copiar o mesmo código

Diagrama de um modelo com sete funções, onde a atualização trocou o módulo "func_b" por "func_b1" e adicionou "func_f" entre "func_c" e "func_d".

Simulação de Eventos Discretos em Python

Exemplo: substituir e adicionar módulos

Versão antiga

with counter.request() as request:
    yield request

    def func_a()
    def func_b()
    def func_c()
    def func_d()
    def func_e()

Versão atualizada

with counter.request() as request:
  yield request

  def func_a()
  # def func_b() # Módulo substituído por
  def func_b1()  # Módulo de substituição
  def func_c()
  def func_f()   # Novo módulo adicionado
  def func_d()
  def func_e()
Simulação de Eventos Discretos em Python

Vamos praticar!

Simulação de Eventos Discretos em Python

Preparing Video For Download...