Modularita modelu pro optimalizaci kontinuálního vývoje

Diskrétní simulace událostí v Pythonu

Diogo Costa (PhD, MSc)

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

Co je škálovatelnost modelu?

  • Rozšiřování schopností v průběhu času
  • Bez ztráty výkonu a bez selhání

Pojem „škálovatelný" model

  • Běžné použití: Schopnost zvýšit kapacitu podle poptávky uživatelů
  • V modelech diskrétních událostí: Schopnost rozšíření a zachování stability

Důležitost

  • Klíčová pro dlouhodobý úspěch a hodnotu modelu
  • Schopnost vývoje
  • Dobré programovací praktiky, například modularita modelu
Diskrétní simulace událostí v Pythonu

Škálovatelný a méně škálovatelný model

Škálovatelný model

Diagram znázorňující modulární model, který je lépe škálovatelný díky správnému rozdělení kódu do modulů, které lze snadno přidávat, odebírat nebo nahrazovat bez nutnosti měnit strukturu modelu.

Méně škálovatelný model

Diagram znázorňující méně modulární model, který je méně škálovatelný, protože kód není správně rozdělen do modulů, a jejich přidávání, odebírání nebo nahrazování vyžaduje změny struktury modelu.

Diskrétní simulace událostí v Pythonu

Modularita modelu

  • Zaměnitelné komponenty (moduly)

  • Procesy rozdělené do samostatných funkcí

  • Moduly volané opakovaně

  • Místo kopírování stejného kódu

Diagram znázorňující model složený ze sedmi funkcí, kde aktualizace modelu zahrnovala nahrazení modulu „func_b" modulem „func_b1" a přidání modulu „func_f" mezi moduly „func_c" a „func_d".

Diskrétní simulace událostí v Pythonu

Příklad: nahrazení a přidání modulů

Stará verze

with counter.request() as request:
    yield request

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

Aktualizovaná verze

with counter.request() as request:
  yield request

  def func_a()
  # def func_b() # Module replaced by
  def func_b1()  # Module replacement
  def func_c()
  def func_f()   # New module added
  def func_d()
  def func_e()
Diskrétní simulace událostí v Pythonu

Pojďme si procvičit!

Diskrétní simulace událostí v Pythonu

Preparing Video For Download...