Programação Orientada à
Objetos & MVC
CONCEITOS BÁSICOS PARA INICIANTES
Programação Orientada à Objetos
História
• Criado por Allan Kay, início década de 60, também autor da Linguagem Smalltalk
• Ideias fundamentadas antes mesmo da Smalltalk
• 1ª linguagem a utilizar as ideias foi a Simula 67, criada por Ole Johan e Kristen
Nygaard em 1967
• Vem sendo adotada recentemente por grandes empresas de desenvolvimento de
Software
• Incorporada em outras linguagens como Java, C++, Pascal etc. No entanto a
maioria utiliza-se parcialmente da ideia, dando mais espaço para o antigo modelo
de programação procedural
Programação Orientada à Objetos
O que é?
• Linguagem de programação de software criada para tentar aproximar o mundo
real do mundo virtual, através da simulação
• O programador molda os objetos à sua vontade, desde como são e como devem
se interagir
• Os objetos se comunicam através de mensagens (pequenos textos, que não
devem conter espaços)
• É fundamentada em quatro pilares: Abstração, Encapsulamento, Herança e
Polimorfismo
• Trabalha introduzindo classes
Aplicação na Informática - POO
• Além de reduzir o tempo gasto em programar, a POO aumenta a produtividade
do programador
• Cria App , Softwares e sites sem grandes dificuldades
• Reutiliza códigos facilitando o trabalho de programar
• Usado em outras linguagens para criar um modelo mais coerente
• Visa atingir plenamente a ideia do programador
MVC
História
• Denominado Model View Controller ou MVC
• Original de 1979, por Trygve Reenskaug, então trabalhando no Smalltalk
• Criado como um padrão de arquitetura de software
• Feito para satisfazer a necessidade de separação de dados e os layouts das aplicações.
Dessa forma a alteração de um não afeta o outro
• A sua implementação e descrita em profundidade no artigo “Applicatons Programming
in Smalltalk-80: How to use Model-View-Controller
• Transpondo os sistemas que existiam em sua época e focando um estudo nas GUI’s
(Graphical User Interface), Reenskaug criou a primeira implementação para o MVC que
surgiu como uma forma otimizada de se construir tais interfaces gráficas com o
usuário
MVC
Oque é?
• O modelo (model) é usado para definir e gerenciar o domínio da informação e
notificar observadores sobre mudanças nos dados
• A visão (view) apresenta o modelo num formato adequado ao utilizador, na saída
de dados, e diferentes visões podem existir para um mesmo modelo, para
diferentes propósitos
• O controlador (controller) recebe a entrada de dados e inicia a resposta ao
utilizador ao invocar objetos do modelo, e por fim uma visão baseada na entrada.
Ele também é responsável pela validação e filtragem da entrada de dados
Aplicação na informática - MVC
• Representação detalhada da informação que a aplicação opera
• Essencialmente o padrão trata-se dos relacionamento entre os componentes
Model, View, Controller, Pois cada um possui uma funcionalidade especifica
• Aplicação de Web em que a visão é um documento HTML (ou derivado) gerado
pela aplicação. O controlador recebe uma entrada GET ou POST após um estímulo
do utilizador e decide como processá-la, invocando objetos do domínio para
tratar a lógica de negócio, e por fim invocando uma visão para apresentar a saída
Vantagens/ Desvantagens POO
• Complexidade no aprendizado para desenvolvedores de linguagens estruturadas
• Maior uso de memória (heap), por exemplo para aplicações móveis em JavaME
• Maior esforço na modelagem de um sistema OO do que estruturado (porém
menor esforço de codificação, sendo uma vantagen)
• Funcionalidades limitadas por interface, quando estas estão incompletas
(problemas na modelagem)
• Dependência de funcionalidades já implementadas em superclasses no caso da
herança, implementações espalhadas em classes diferentes
POO...
• maior facilidade para reutilização de código e por consequência
do projeto
• maior adequação à arquitetura cliente/servidor
• maior facilidade de comunicação com os usuários e com outros
profissionais de informática
• ciclo de vida mais longo para os sistemas
• desenvolvimento acelerado de sistemas
• possibilidade de se construir sistema muito mais complexos, pela
incorporação de funções prontas
• menor custo para desenvolvimento e manutenção de sistemas
Vantagens/ Desvantagens MVC
• Adiciona uma complexidade desnecessária para aplicações de pequeno porte.
• Precisa de um treinamento adequado.
• A equipe precisa ser muito disciplinada para não fugir dos conceitos do MVC.
• Requer mais tempo e planejamento para construir o sistema.
MVC...
• Múltiplos visualizadores, podendo testar sistemas múltiplos sem necessidade de
paralisar o sistema principal.
• Fácil de criar novas plataformas para o sistema, necessitando apenas criar os
visualizadores e controles necessários para a adaptação.
• Torna o sistema escalável e portável.
• É possível desenvolver paralelamente as camadas, pois são independentes.
Exemplo de POO
Exemplo de MVC

Programação orientada à objetos & mvc

  • 1.
    Programação Orientada à Objetos& MVC CONCEITOS BÁSICOS PARA INICIANTES
  • 2.
    Programação Orientada àObjetos História • Criado por Allan Kay, início década de 60, também autor da Linguagem Smalltalk • Ideias fundamentadas antes mesmo da Smalltalk • 1ª linguagem a utilizar as ideias foi a Simula 67, criada por Ole Johan e Kristen Nygaard em 1967 • Vem sendo adotada recentemente por grandes empresas de desenvolvimento de Software • Incorporada em outras linguagens como Java, C++, Pascal etc. No entanto a maioria utiliza-se parcialmente da ideia, dando mais espaço para o antigo modelo de programação procedural
  • 3.
    Programação Orientada àObjetos O que é? • Linguagem de programação de software criada para tentar aproximar o mundo real do mundo virtual, através da simulação • O programador molda os objetos à sua vontade, desde como são e como devem se interagir • Os objetos se comunicam através de mensagens (pequenos textos, que não devem conter espaços) • É fundamentada em quatro pilares: Abstração, Encapsulamento, Herança e Polimorfismo • Trabalha introduzindo classes
  • 4.
    Aplicação na Informática- POO • Além de reduzir o tempo gasto em programar, a POO aumenta a produtividade do programador • Cria App , Softwares e sites sem grandes dificuldades • Reutiliza códigos facilitando o trabalho de programar • Usado em outras linguagens para criar um modelo mais coerente • Visa atingir plenamente a ideia do programador
  • 5.
    MVC História • Denominado ModelView Controller ou MVC • Original de 1979, por Trygve Reenskaug, então trabalhando no Smalltalk • Criado como um padrão de arquitetura de software • Feito para satisfazer a necessidade de separação de dados e os layouts das aplicações. Dessa forma a alteração de um não afeta o outro • A sua implementação e descrita em profundidade no artigo “Applicatons Programming in Smalltalk-80: How to use Model-View-Controller • Transpondo os sistemas que existiam em sua época e focando um estudo nas GUI’s (Graphical User Interface), Reenskaug criou a primeira implementação para o MVC que surgiu como uma forma otimizada de se construir tais interfaces gráficas com o usuário
  • 6.
    MVC Oque é? • Omodelo (model) é usado para definir e gerenciar o domínio da informação e notificar observadores sobre mudanças nos dados • A visão (view) apresenta o modelo num formato adequado ao utilizador, na saída de dados, e diferentes visões podem existir para um mesmo modelo, para diferentes propósitos • O controlador (controller) recebe a entrada de dados e inicia a resposta ao utilizador ao invocar objetos do modelo, e por fim uma visão baseada na entrada. Ele também é responsável pela validação e filtragem da entrada de dados
  • 7.
    Aplicação na informática- MVC • Representação detalhada da informação que a aplicação opera • Essencialmente o padrão trata-se dos relacionamento entre os componentes Model, View, Controller, Pois cada um possui uma funcionalidade especifica • Aplicação de Web em que a visão é um documento HTML (ou derivado) gerado pela aplicação. O controlador recebe uma entrada GET ou POST após um estímulo do utilizador e decide como processá-la, invocando objetos do domínio para tratar a lógica de negócio, e por fim invocando uma visão para apresentar a saída
  • 8.
    Vantagens/ Desvantagens POO •Complexidade no aprendizado para desenvolvedores de linguagens estruturadas • Maior uso de memória (heap), por exemplo para aplicações móveis em JavaME • Maior esforço na modelagem de um sistema OO do que estruturado (porém menor esforço de codificação, sendo uma vantagen) • Funcionalidades limitadas por interface, quando estas estão incompletas (problemas na modelagem) • Dependência de funcionalidades já implementadas em superclasses no caso da herança, implementações espalhadas em classes diferentes
  • 9.
    POO... • maior facilidadepara reutilização de código e por consequência do projeto • maior adequação à arquitetura cliente/servidor • maior facilidade de comunicação com os usuários e com outros profissionais de informática • ciclo de vida mais longo para os sistemas • desenvolvimento acelerado de sistemas • possibilidade de se construir sistema muito mais complexos, pela incorporação de funções prontas • menor custo para desenvolvimento e manutenção de sistemas
  • 10.
    Vantagens/ Desvantagens MVC •Adiciona uma complexidade desnecessária para aplicações de pequeno porte. • Precisa de um treinamento adequado. • A equipe precisa ser muito disciplinada para não fugir dos conceitos do MVC. • Requer mais tempo e planejamento para construir o sistema.
  • 11.
    MVC... • Múltiplos visualizadores,podendo testar sistemas múltiplos sem necessidade de paralisar o sistema principal. • Fácil de criar novas plataformas para o sistema, necessitando apenas criar os visualizadores e controles necessários para a adaptação. • Torna o sistema escalável e portável. • É possível desenvolver paralelamente as camadas, pois são independentes.
  • 12.
  • 13.