Usando MVC para agilizar o desenvolvimento

4,162 views
3,955 views

Published on

Apresentação de MVC apresentado no dia vinte e cinco de maio de 2009 no 1º Encontro de Programadores PHP de Minas Gerais

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,162
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
79
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Usando MVC para agilizar o desenvolvimento

  1. 1. Desenvolvimento PHP com MVC <ul><li>Noção sobre desenvolvimento Web
  2. 2. O que são Padrões de Projeto
  3. 3. Padrões e o Universo de TI
  4. 4. Conhecendo os Padrões de Projeto
  5. 5. O MVC
  6. 6. As Camadas do MVC e o PHP
  7. 7. Mergulhando no MVC </li></ul>
  8. 8. Desenvolvimento PHP com MVC <ul><li>Noção sobre desenvolvimento Web
  9. 9. O que são Padrões de Projeto
  10. 10. Padrões e o Universo de TI
  11. 11. Conhecendo os Padrões de Projeto
  12. 12. O MVC
  13. 13. As Camadas do MVC e o PHP
  14. 14. Mergulhando no MVC </li></ul>
  15. 15. Objetivos do Curso <ul><li>Apresentar uma visão geral sobre Design Pattern;
  16. 16. Dar uma visão sólida sobre MVC;
  17. 17. Entender como o MVC se comporta sozinho;
  18. 18. Explicar como o MVC se integra a alguns outros Patterns;
  19. 19. Entender como podemos aplicar MVC em uma aplicação PHP;
  20. 20. Servir de ponto de apoio para seu desenvolvimento </li></ul>
  21. 21. Não são Objetivos <ul><li>Dar capacidade de maestria em MVC;
  22. 22. Ser um curso único de MVC ou de programação em PHP;
  23. 23. Ser consultoria para sua empresa/produtos;
  24. 24. Substituir publicações ou estudo;
  25. 25. Apresentar outros Design Patterns;
  26. 26. Ser um treinamento de grande profundidade. </li></ul>
  27. 27. Padrões de Projeto(DP) <ul><li>Proposto para a área de Construção Civil na década de 70 por Cristopher Alexandre;
  28. 28. Padrões de soluções para problemas comuns;
  29. 29. 1987 primeiros padrões de projeto para computação;
  30. 30. 1995 Lançamento do Livro Design Patterns;
  31. 31. Popularização em C++;
  32. 32. Independente de OOP, mas recomendável usar o Paradigma. </li></ul>
  33. 33. Características de Um Padrão <ul><li>Generalidade;
  34. 34. Equilíbrio;
  35. 35. Abstração;
  36. 36. Abertura;
  37. 37. Combinatoriedade. </li></ul>
  38. 38. Vantagens de Usar Patterns <ul><li>Redução do tempo de codificação
  39. 39. Reaproveitamento de Código;
  40. 40. Variedade;
  41. 41. Possibilidade de Generalização de sistema;
  42. 42. Menor tempo de manutenção;
  43. 43. Melhor interação na equipe de desenvolvimento;
  44. 44. Padronização da codificação. </li></ul>
  45. 45. Frameworks que usam MVC <ul><li>CakePHP;
  46. 46. Simphony;
  47. 47. Code Igniter;
  48. 48. Zend Framework;
  49. 49. Biscuit;
  50. 50. Prado;
  51. 51. Outros. </li></ul>
  52. 52. Características do MVC <ul><li>Separação das Camadas de Desenvolvimento;
  53. 53. Separação das Lógicas(Apresentação e Aplicação);
  54. 54. Melhor Reaproveitamento do Código;
  55. 55. Maior Facilidade de Documentação e Manutenção;
  56. 56. Permite o desenvolvimento de multiplas aplicações;
  57. 57. Separa o design da Programação; </li></ul>
  58. 58. O MVC (Modelo Visualização Controle) O MVC é um padrão de projeto baseado no problema de reescrever o código para cada página, ou tela, que fôssemos produzir, sendo que com a mistura entre rotinas de DML (Linguagem de Manipulação de Dados), montagem de interfaces e controle dos comportamentos. Tudo isso junto muitas vezes gerava um código ilegível o que dificultava a vida dos desenvolvedores. Assim foi proposto o MVC como forma de resolver esse conjunto de problemas extremamente recorrente no universo do desenvolvimento de sistemas.
  59. 59. A Camada de Modelo <ul><li>Manipulação de arquivos texto
  60. 60. Sistemas de arquivos
  61. 61. XML
  62. 62. DML
  63. 63. Validações de dados *
  64. 64. Acesso somente por um controle </li></ul><ul>*Existe uma polêmica sobre aonde devemos manter as validações, se no controle ou no modelo, eu pessoalmente prefiro o modelo </ul>
  65. 65. A Camada de Controle <ul><li>Recebe as interessões da visão;
  66. 66. Dispara o modelo;
  67. 67. Recebe a resposta do modelo;
  68. 68. Devolve a resposta que o modelo deve apresentar;
  69. 69. Ajax é acionado aqui e descarrega em uma view;
  70. 70. Pode, e recomenda-se, integrar-se com um FontControll </li></ul>
  71. 71. A Camada de Visão <ul><li>Pode um sistema de templates,como o Smarty;
  72. 72. Carrega os frontEnds gráficos, CSS, Javascript, XML para XLST etc.;
  73. 73. Envia as interações para o controle;
  74. 74. Recebe a resposta do controle e trata de exibir de uma maneira humanamente legível ; </li></ul>

×