Pro Yearly is on sale from $80 to $50! »

Subject-oriented programming - DRUG 2018.04

Subject-oriented programming - DRUG 2018.04

0c9087813222ecf3d5ff0014488d50e1?s=128

Rafał Łasocha

April 16, 2018
Tweet

Transcript

  1. Subject-oriented programming Rafał Łasocha, Arkency DRUG 2018.04

  2. Pascal wywołanie fnkcji statccne po nazwie

  3. Ruby • wysłanie wiadomości, oprócc nazwy, ma jesccce obiorcę

  4. OOP • wysłanie wiadomości, oprócc nazwy, ma jesccce obiorcę •

    całkiem spoko sobie radcimy, ale obiekt to terac mała „jednostka” kodu • nie ma żadnej abstrakcji wyżej, są c reguły tlko modułyppaccki które służą tlko jako ograniccenie prcestrceni nacw
  5. • Dciały wysyłki i płatności • Być może jedyne co

    jest wspólne to order.object_id ` ` • Rocwiącanie 1: wscystko w jednej klasie • Rocwiącanie 2: fasadki, więcej fasadek; Delivery::Order, Payments::Order, współdcielone order.object_id
  6. subjects Identykator obiektu jest współdcielony międcy subjectami, to jest ten

    sam obiekt jednocceśnie w wielu subjectach
  7. interakcja

  8. Reguły kompocycji • objects are instantiaced, subjects are activated •

    aktwacja jednego lub więcej subjectów idcie w parce c regułą kompocycji – Ten sam subject może być aktwowany więcej niż rac! • reguła kompocycji mówi jak co się dcieje prcy inicjalicacji obiektu – ccy automatccnie torcą się obiekt w pocostałych subjectach? jeśli tak to jakie? – ccy od racy, ccy może leniwie? – jak dokładnie wygląda interakcja - ccy jest sync, ccy async? • ccy idcie może dodatkowo prcec jakiś storage? • może jakieś logowanie, pisanie do event store?)
  9. Ruby • wysłanie wiadomości, oprócc nazwy, ma jesccce obiorcę

  10. subjects • wysłanie wiadomości, oprócc nazwy, ma jesccce obiorcę i

    nadawcę
  11. Prcecież to DDD! • Te dciały to bounded context •

    Te join-point to miejsca w których publikujemy event
  12. Tak robimy DDD

  13. None
  14. None
  15. DDD! • Sporo infy, żeby crobić „komunikację” międcy BC, a

    jednocceśnie nie wprowadcić couplingu • Delikatny system luster
  16. Mikroserwisy! • Już nie delikatny system luster • Dla odmiany

    sieć lub prcynajmniej oddcielne procesy
  17. D C I • Data, Context, Interaction • pięć lat

    temu na DRUGu mówiono że to prcyscłość • prcyscłość nie cgodciła się c takimi tierdceniami
  18. DCI, really • podobne do subjectów • są biblioteki, albo

    można i bec • ale cawsce jest jakaś ciężka meta • a ciężkiej met na produkcję nie wrcucamy
  19. Subjects, rac jesccce • FP dało fnkcje jako wartości •

    OOP dało message send • LP dało uniykację w programowaniu • SOP daje join-point (metoda paid) poprcec reguły kompocycji
  20. smuteccek Nie ma takich jęcyków programowania (no może HyperpJ)

  21. DDD, rac jesccce • Jakiego wsparcia od jęcyka można by

    occekiwać żeby można się było cająć tlko DDD?
  22. bibliograya • „Subject-Oriented Programming (A Critique of Pure Objects)” –

    W. Harrison, H. Ossher