data mapper

16
www.rafaelrosafu.com DataMapper DataMapper

Upload: rafaelrosafu

Post on 01-Sep-2014

3.849 views

Category:

Technology


3 download

DESCRIPTION

Uma visão geral do DataMapper, quais são suas diferenças, vantagens e desvantagens em relação ao ActiveRecord

TRANSCRIPT

Page 1: Data Mapper

www.rafaelrosafu.com

DataMapperDataMapper

Page 2: Data Mapper

www.rafaelrosafu.com

DataMapper

Rafael Rosa Desenvolvedor há 14 anos Migrando para Rails www.rafaelrosafu.com

Projetos Ruby Inside Brasil Tradução do Rails Guides DataMapper – integração do I18n

Page 3: Data Mapper

www.rafaelrosafu.com

DataMapper

O que é? Utiliza o pattern Data Mapper publicado por Martin

Fowler Mesmo pattern utilizado pelo Hibernate Criado pelo pessoal do Merb, incluindo Matt

Aimonetti e Yehuda Katz ORM padrão do Merb

Page 4: Data Mapper

www.rafaelrosafu.com

DataMapper Vantagens

Não depende da estrutura do banco de dados Mais fácil de integrar com bancos legados Mais explícito Mais modular

DataObjects MySQL, Postgres, SQLite, JDBC, Hsqldb, H2, Derby

DM-core DM-more

Pode utilizar migrações Lazy load padrão, Strategic Eager Load (SEL) Múltiplos repositórios

Page 5: Data Mapper

www.rafaelrosafu.com

DataMapper

Page 6: Data Mapper

www.rafaelrosafu.com

DataMapper

Page 7: Data Mapper

www.rafaelrosafu.com

DataMapper Vantagens

Não depende da estrutura do banco de dados Mais fácil de integrar com bancos legados Mais explícito Mais modular

DataObjects MySQL, Postgres, SQLite, JDBC, Hsqldb, H2, Derby

DM-core DM-more

Pode utilizar migrações Lazy load padrão, Strategic Eager Load (SEL) Múltiplos repositórios

Page 8: Data Mapper

www.rafaelrosafu.com

DataMapper

Page 9: Data Mapper

www.rafaelrosafu.com

DataMapper Vantagens

Não depende da estrutura do banco de dados Mais fácil de integrar com bancos legados Mais explícito Mais modular

DataObjects MySQL, Postgres, SQLite, JDBC, Hsqldb, H2, Derby

DM-core DM-more

Pode utilizar migrações Lazy load padrão, Strategic Eager Load (SEL) Múltiplos repositórios

Page 10: Data Mapper

www.rafaelrosafu.com

DataMapper

Page 11: Data Mapper

www.rafaelrosafu.com

DataMapper

Resource Plugins DM-Validation DM-Timestamps DM-Aggregates DM-Types DM-Serializer DM-Constraints DM-Ajust

Is Plugins DM-is-list DM-is-tree DM-is-nested_set DM-is-versioned DM-is-state_machine DM-is-remixable DM-is-searchable DM-tags

Page 12: Data Mapper

www.rafaelrosafu.com

DataMapper

Adapters DM-couchdb-adapter DM-rest-adapter DM-ferret-adapter

Integration rails_datamapper

Utility DM-sweatshop DM-migrations DM-shorthand DM-observer DM-cli DM-querizer DM-ar-finders

Page 13: Data Mapper

www.rafaelrosafu.com

DataMapper

Futuras funcionalidades (0.10, 0.11) Validações para objetos Ruby puros Suporte ao I18n Identity Map utilizando Moneta (Memcached, Tokyo

Tyrant, etc) Melhorias no SEL

Page 14: Data Mapper

www.rafaelrosafu.com

DataMapper

Desvantagens Menos maduro Não se integra facilmente ao Rails (ainda) Pequena comunidade Pouca documentação (relativamente) Ainda não tem Remarkable

Page 15: Data Mapper

www.rafaelrosafu.com

DataMapper

Como participar http://www.datamapper.org http://groups.google.com/group/datamapper IRC Freenode #datamapper e #dm-hacking

Page 16: Data Mapper

www.rafaelrosafu.com

DataMapper

ObrigadoObrigado:):)