• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Desenvolvimento em .Net - Dados vs Objectos
 

Desenvolvimento em .Net - Dados vs Objectos

on

  • 1,371 views

 

Statistics

Views

Total Views
1,371
Views on SlideShare
1,369
Embed Views
2

Actions

Likes
1
Downloads
25
Comments
0

1 Embed 2

http://cleberprogrammer.wordpress.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Desenvolvimento em .Net - Dados vs Objectos Desenvolvimento em .Net - Dados vs Objectos Presentation Transcript

    • Desenvolvimento em .Net Dados vs Objectos
    • Objectivos perceber questão quot;dados ou objectosquot; ● perceber conceito 3-tier ● identificar semelhanças e diferenças entre ● sgbdr e objectos perceber conceito n-tier e soa ● perceber de que forma podemos ver o acesso ● a dados como um serviço saber o que é O/R Mapping ● identificar caracteristicas de um O/R Mapper ●
    • Dados vs Objectos Como se relacionam?
    • Dados vs Objectos Necessidades ● Objectos incluem dados e comportamentos – Dados... bem são só dados... – Existência fisica ● objectos normalmente existem em memória volátil – (ram) dados normalmente existem em memória não – volátil (hdd) eventualmente num SGBDR ●
    • Dados vs Objectos No entanto: ● qualquer aplicação minimamente interessante – necessitará de guardar informação para utilização futura - “data-persistence”. Ou seja... ● teremos SEMPRE que arranjar alguma forma de – mapear a estrutura de objectos para a estrutura de tabelas!
    • Nota Prévia a análise partindo de um paradigma “data- ● oriented” ou partindo de um paradigma “object- oriented” não chega ao mesmo modelo de “entidades” (considerando uma entidade uma tabela ou um – objecto respectivamente.) várias soluções para o mesmo problema ● legacy code ● ... ●
    • Mapeamento dados / objectos ORM – Object/Relational Mapping ● tem como objectivo ligar os dois mundos... bases – de dados e objectos
    • Mapeamento dados / objectos Dataset – Uma solução .Net ● não é só uma tabela – não é bem um objecto – facilita a resolução de alguns problemas – se quisermos um conjunto de objectos do mesmo tipo ● normalmente teremos que: criar o objecto (uma classe); – criar uma coleção desses objectos (outra classe) – escrever código para filtrar / ordenar esses dados –
    • Mapeamento dados / objectos Problema Simples ● Um Objecto <=> Uma Tabela – Uma Propriedade <=> Um Campo – Problemas Complexos ● Hierarquia de objectos (herança) – Propriedades que não têm tipos de dados – “primitivos” => são por exemplo outro objecto.
    • Mapear Hierarquias Estratégia 1 ● mapear toda a estrutura hierarquica para uma – tabela
    • Mapear Hierarquias Estratégia 2 ● mapear cada classe uma tabela –
    • Mapear Hierarquias Outras opções ● mapear cada classe concreta para uma tabela – criar uma estrutura genérica de tabelas que permita – acomodar todo o tipo de objectos outras dificuldades ● herança multipla –
    • Mapeamento dados / objectos assumindo que é baixo o custo (tempo) para: ● a criação de objectos – a criação de mecanismos para persistir esses – objectos a criação de mecanismos para utilizar esses – objectos então a opção poderá ser ● esquecer os datasets... – não ignorando as suas possiveis aplicações (por ● exemplo relatórios)
    • de volta ao inicio...
    • Recapitulando porque queremos adoptar o famoso conceito ● “3-camadas”? Separação de Responsabilidade ● ● Independencia na tecnologia usada nas diversas camadas
    • SOA e N-Tier – pequena introdução “...the concept is to build an application, not as a monolithic system, but as ● an aggregation of smaller systems that form a community”
    • Acesso a dados como um serviço SE: ● todos os objectos precisam de ser persistidos – todos os objectos precisam de ser pesquisáveis – SE um serviço é: ● uma função perfeitamente definida – quot;self-containedquot; – que não depende do contexto ou estado de outro – serviço
    • Acesso a dados como um serviço ENTÃO ● o acesso a dados é um serviço – MELHOR... ● Já há frameworks que implementam esse serviço! – (O/R Mapper) ● exemplos ● Hibernate, ActiverRecord, LLBLGen, ... –
    • Caracteristica de um O/R Mapper herança ● transações ● agregações (SUM, AVG, ...) ● independente da base de dados ● linguagem de pesquisa (tipo SQL) ● ... ●
    • Objectivos perceber questão quot;dados ou objectosquot; ● perceber conceito 3-tier ● identificar semelhanças e diferenças entre ● sgbdr e objectos perceber conceito n-tier e soa ● perceber de que forma podemos ver o acesso ● a dados como um serviço saber o que é O/R Mapping ● identificar caracteristicas de um O/R Mapper ●