Desenvolvimento em .Net




     Dados vs Objectos
Objectivos
    perceber questão quot;dados ou objectosquot;
●


    perceber conceito 3-tier
●


    identificar semelhanç...
Dados vs Objectos




Como se relacionam?
Dados vs Objectos
    Necessidades
●


        Objectos incluem dados e comportamentos
    –

        Dados... bem são só ...
Dados vs Objectos
    No entanto:
●


        qualquer aplicação minimamente interessante
    –
        necessitará de gua...
Nota Prévia
    a análise partindo de um paradigma “data-
●

    oriented” ou partindo de um paradigma “object-
    orient...
Mapeamento dados / objectos
    ORM – Object/Relational Mapping
●


        tem como objectivo ligar os dois mundos... bas...
Mapeamento dados / objectos
    Dataset – Uma solução .Net
●


        não é só uma tabela
    –

        não é bem um obj...
Mapeamento dados / objectos
    Problema Simples
●


        Um Objecto <=> Uma Tabela
    –

        Uma Propriedade <=> ...
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 estr...
Mapeamento dados / objectos
    assumindo que é baixo o custo (tempo) para:
●


        a criação de objectos
    –

     ...
de volta ao inicio...
Recapitulando
    porque queremos adoptar o famoso conceito
●

    “3-camadas”?




  Separação de Responsabilidade
●

● I...
SOA e N-Tier – pequena introdução




    “...the concept is to build an application, not as a monolithic system, but as
●...
Acesso a dados como um serviço
    SE:
●


        todos os objectos precisam de ser persistidos
    –

        todos os o...
Acesso a dados como um serviço
    ENTÃO
●


        o acesso a dados é um serviço
    –

    MELHOR...
●


        Já há ...
Caracteristica de um O/R Mapper
    herança
●


    transações
●


    agregações (SUM, AVG, ...)
●


    independente da ...
Objectivos
    perceber questão quot;dados ou objectosquot;
●


    perceber conceito 3-tier
●


    identificar semelhanç...
Próximos SlideShares
Carregando em…5
×

Desenvolvimento em .Net - Dados vs Objectos

900 visualizações

Publicada em

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
900
No SlideShare
0
A partir de incorporações
0
Número de incorporações
16
Ações
Compartilhamentos
0
Downloads
27
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Desenvolvimento em .Net - Dados vs Objectos

  1. 1. Desenvolvimento em .Net Dados vs Objectos
  2. 2. 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 ●
  3. 3. Dados vs Objectos Como se relacionam?
  4. 4. 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 ●
  5. 5. 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!
  6. 6. 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 ● ... ●
  7. 7. Mapeamento dados / objectos ORM – Object/Relational Mapping ● tem como objectivo ligar os dois mundos... bases – de dados e objectos
  8. 8. 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 –
  9. 9. 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.
  10. 10. Mapear Hierarquias Estratégia 1 ● mapear toda a estrutura hierarquica para uma – tabela
  11. 11. Mapear Hierarquias Estratégia 2 ● mapear cada classe uma tabela –
  12. 12. 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 –
  13. 13. 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)
  14. 14. de volta ao inicio...
  15. 15. Recapitulando porque queremos adoptar o famoso conceito ● “3-camadas”? Separação de Responsabilidade ● ● Independencia na tecnologia usada nas diversas camadas
  16. 16. 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”
  17. 17. 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
  18. 18. 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, ... –
  19. 19. Caracteristica de um O/R Mapper herança ● transações ● agregações (SUM, AVG, ...) ● independente da base de dados ● linguagem de pesquisa (tipo SQL) ● ... ●
  20. 20. 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 ●

×