Modularność modelu w ciągłym rozwoju

Symulacja zdarzeń dyskretnych w Pythonie

Diogo Costa (PhD, MSc)

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

Czym jest skalowalność modelu?

  • Rozszerzanie możliwości w czasie
  • Bez utraty wydajności i stabilności

Termin „skalowalny" model

  • Typowe użycie: zdolność do zwiększania pojemności zgodnie z popytem
  • W modelach zdarzeń dyskretnych: zdolność do rozbudowy przy zachowaniu stabilności

Znaczenie

  • Kluczowe dla długoterminowej wartości modelu
  • Zdolność do ewolucji
  • Dobre praktyki kodowania, np. modularność modelu
Symulacja zdarzeń dyskretnych w Pythonie

Model skalowalny i mniej skalowalny

Model skalowalny

Diagram przedstawiający modularny model, który jest bardziej skalowalny dzięki właściwemu podziałowi kodu na moduły — można je łatwo dodawać, usuwać lub zastępować bez zmiany struktury modelu.

Model mniej skalowalny

Diagram przedstawiający model o niższej modularności, który jest mniej skalowalny ze względu na nieodpowiedni podział kodu — moduły trudniej dodawać, usuwać lub zastępować bez zmian w strukturze modelu.

Symulacja zdarzeń dyskretnych w Pythonie

Modularność modelu

  • Wymienne komponenty (moduły)

  • Procesy ujęte w oddzielne funkcje

  • Moduły wywoływane wielokrotnie

  • Zamiast powielania tego samego kodu

Diagram przedstawiający model złożony z siedmiu funkcji, w którym aktualizacja polegała na zastąpieniu modułu „func_b" modułem „func_b1" oraz dodaniu modułu „func_f" między modułami „func_c" i „func_d".

Symulacja zdarzeń dyskretnych w Pythonie

Przykład: zastępowanie i dodawanie modułów

Stara wersja

with counter.request() as request:
    yield request

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

Zaktualizowana wersja

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()
Symulacja zdarzeń dyskretnych w Pythonie

Czas na ćwiczenia!

Symulacja zdarzeń dyskretnych w Pythonie

Preparing Video For Download...