Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ActiveRecord, DataMapper czy Agregacja encji

Krzysztof Wawer
January 21, 2015
110

ActiveRecord, DataMapper czy Agregacja encji

Krzysztof Wawer

January 21, 2015
Tweet

Transcript

  1. ActiveModel, Presenter, FormObject ActiveModel pozwala na tworzenie dowolnych formularzy =>

    zapis wielu obiektów ActiveRecord nie jest już taki dużym problemem „Presenter" Jay Fields (1) => „FormObject” CodeClimate (2) (1) http:/ /blog.jayfields.com/2007 /03/rails-presenter-pattern.html (2) http:/ /blog.codeclimate.com/blog/2012/10/17 /7-ways-to- decompose-fat-activerecord-models/
  2. Domain-Driven Design Part II, The Building Blocks of a Model-Driven

    Design Chapter 6: The Life Cycle of a Domain Object AGGREGATES
  3. Entity + Repository + Data dostępne gemy Datamappify (nie rozwijany

    od Listopada 2013) • ActiveRecord (4.0.x) • Sequel Edr (nie rozwijany od Maja 2013) • ActiveRecord (3.2.x)
  4. Entity + Repository + Data dostępne gemy Curator • mongo

    • riak • Memory Lotus::Model • Sequel • Memory
  5. Po co ORM ? Czy elementy ORM są potrzebne ?

    obsługa formularzy callbacki zagnieżdżone atrybuty … Repozytorium ORM ORM Główna Encja
  6. Po co ORM ? Czy elementy ORM są potrzebne ?

    obsługa formularzy callbacki zagnieżdżone atrybuty … Repozytorium ORM ORM Główna Encja DATA DATA
  7. Warstwa DATA Wykorzystanie warstwy z ORM do mapowania danych ActiveRecord

    -> arel Sequel rom -> axiom rom-sql -> sequel rom-mongo -> moped Mongoid -> moped MongoMapper -> mongo
  8. FormObject czy Encja FormObject Agregacja kilku modeli w jednym formularzu

    Gdy agregacja modeli występuje w jednym lub kilku ściśle określonych miejscach aplikacji Struktura bazy danych jest ważna Encja Agregacja danych z kilku tabel, dokumentów, … Gdy w większości aplikacji zależności modeli są ze sobą mocno powiązane Nie musimy przejmować się strukturą bazy