Baixe o app para aproveitar ainda mais
Prévia do material em texto
· Pergunta 1 1 em 1 pontos Padrões de projeto auxiliam a implementação de páginas web , pois permitem vários níveis de abstrações em suas diversas funcionalidades e demandas. Dentre os vários padrões existentes atualmente, destaca-se o GOF que, na verdade, é constituído por diversos padrões classificados em três classes: padrões de criação, padrões estruturais e padrões comportamentais. Além do GOF, existe o MVC – padrão preferido para a implementação de páginas. Em sua estruturação, o MVC é constituído por três camadas: camada de visão, camada de modelo e camada de controle. Tais camadas incorporam diversos padrões GOF. Dados os padrões a seguir, classifique-os identificando com “M”, se ele integrar a camada de modelo; com “V”, caso ele seja implementado na camada de visão e; com “C”, se ele estiver presente na camada de controle. (_) composite (_) observer (_) strategy (_) factory Assinale a alternativa que corresponda à sequência correta. Resposta Selecionada: V; M; C; C. Resposta Correta: V; M; C; C. Feedback da resposta: Resposta correta. Sua resposta está correta. O “ composite” oferece recursos para a “composição visual”. A camada de modelo, uma vez que deve informar às demais as modificações, deve implementar a estratégia “ observer”. Por fim, a camada de controle deve ter regras para controlar as outras duas camadas. Como exemplo de tais regras, temos o “ strategy” e o “ factory”. · Pergunta 2 1 em 1 pontos A validação de um campo pode ser realizada de duas maneiras: a verificação da estrutura e a verificação do valor. No caso, por exemplo, do CPF, a verificação da estrutura poderá ser realizada com a utilização de expressões regulares e, a verificação do valor, com codificação JavaScript direta. Para essa questão, suponha o código para a validação estrutural abaixo. <html> <head> <script language="JavaScript"> function VerificarCPF(f) { var exp_regCPF = ___; if(exp_regCPF.test(f.___.value)) { alert("___"); return true; } else { alert("___"); return true; } } </script> </head> <body> <form name="cadastro" method=”POST” _1_="return VerificarCPF(this);"> <p>Número do CPF: <input type="text" name="cpf"></p> <p><label><input type="submit" name="Verificar" value="Verificar"></label></p> </form> </body> </html> Preencha os campos em aberto escolhendo itens da lista a seguir. I. onSubmit II. action III. /^\d{3}\.\d{3}\.\d{3}\-\d{2}$/ IV. /^\d{0-9}\.\d{0-9}\.\d{0-9}\-\d{0-9}$/ V. cpf VI. cadastro VII. CPF não válido VIII. CPF válido Assinale a alternativa que contém a sequência correta. Resposta Selecionada: III; V; VIII; VII; I. Resposta Correta: III; V; VIII; VII; I. Feedback da resposta: Resposta correta. Sua resposta está correta. Você acertou a expressão regular observando os campos que representam valores e aqueles que representam a quantidade de ocorrências. Além disso, fez uso do método test de forma apropriada e acertou quando usar o action e quando usar o onSubmit. · Pergunta 3 1 em 1 pontos Dentro da programação, independentemente de ser a codificação de um sistema baseado em páginas web ou não, temos sempre a preocupação de sua escalabilidade. Por exemplo, vamos supor que temos a necessidade de criar uma página para e-commerce e que são estabelecidos descontos diferenciados para cada tipo de forma de pagamento. Suponha que um programador fez uma primeira versão da seguinte forma (código em PHP): public function retornaDesconto($formaPG,$valor_compra) { if($formaPG==”Boleto”) {return $valor_compra*0.9;} else if($formaPG==”Debito”) {return $valor_compra*0.95;} else {return $valor_compra;} } Na implementação acima, temos o inconveniente de que, quando houver a necessidade de adicionar mais uma forma de pagamento, deveremos adicionar mais uma estrutura do tipo “else if... else”. Diante da situação, foram apresentadas algumas soluções: Solução 1: criar uma classe para cada tipo de forma de pagamento. Todas as classes teriam um método para retornar o valor com desconto – o nome e a lista de parâmetros seriam os mesmos para todas as classes. Por exemplo, para a classe boleto, a implementação seria: class Boleto { public function ValorComDesconto($valor_compra) { return $valor_compra*0.9; } } Solução 2: criar uma interface na qual todas as classes devem implementá-la. Assim, a solução ficaria: interface formaPG { public function ValorComDesconto($valor_compra); } class Boleto implements formaPG { public function ValorComDesconto($valor_compra) { return $valor_compra*0.9; } } Diante dessas duas versões de implementação, analise as afirmações a seguir. I. Não implementaria a “solução I” pois, assim que for determinado o tipo de pagamento, para criar um objeto relativo à classe pertinente deve-se fazer uma estrutura de “if...else if...” II. Implementaria ambas as soluções, pois ambas apresentam as mesmas vantagens e desvantagens. III. Não implementaria a “solução II” pois as classes ficariam não flexíveis, ou seja, todas deveriam seguir o mesmo padrão, o que dificultaria a reutilização do código. IV. Implementaria a “solução II”, pois a modificação do código para inserir ou retirar uma forma de pagamento, ficaria mais ágil e fácil de ser realizada. V. Implementaria a “solução I”, pois é mais fácil de entender. Diante das afirmações acima, selecione a opção correta. Resposta Selecionada: As afirmativas I e IV são verdadeiras. Resposta Correta: As afirmativas I e IV são verdadeiras. Feedback da resposta: Resposta correta. Sua resposta está correta. A “solução 2” representa um padrão chamado de Strategy (estratégia). É um dos padrões GOF usados para a linha comportamental do sistema. · Pergunta 4 1 em 1 pontos Temos inúmeros padrões de projeto que podemos aplicar no desenvolvimento de nossas páginas, dentre os quais, podemos mencionar o padrão GOF e o padrão MVC. Analise as afirmações abaixo, classificando-as como “V”, se forem verdadeiras, ou “F”, se forem falsas. (_) O padrão GOF é mais restritiva, ou seja, analisa um aspecto em específico. (_) O padrão GOF contempla três grupos: criação; estrutural e comportamental. (_) O padrão GOF é o preferido para a implementação de páginas. (_) O padrão MVC é totalmente divergente em relação ao GOF. Assinale a alternativa que que apresenta a sequência correta. Resposta Selecionada: F; V; V; F. Resposta Correta: F; V; V; F. Feedback da resposta: Resposta correta. Resposta correta. Realmente o padrão MVC é o preferido para a implementação das páginas, pois realiza a abstração do sistema sob vários pontos de vista. Essa decomposição funcional e estrutural, utilizando elementos do GOF, permite que os vários aspectos demandados pelas páginas possam ser supridos. · Pergunta 5 1 em 1 pontos Na implementação de páginas web , uma das linguagens mais utilizadas é o PHP. Na filosofia em camadas, o PHP aparece na camada intermediária, ou seja, entre a camada de interfaceamento com o usuário e a camada que compreende as bases de dados. Analise as afirmações a seguir e assinale com “M” o que for motivo da adoção do PHP, e com “N”, caso contrário. (_) Suporta vários gerenciadores de bancos de dados, como por exemplo: MySQL, PostgresSQL e Sybase. (_) Tem suporte a diversos protocolos, tais como: LDAP, SNMP e SSH2. (_) Consegue interagir de forma muito eficiente com o HTML para validar campos do formulário. (_) Boa interatividade com o servidor APACHE. Assinale a opção que apresenta a sequência correta. Resposta Selecionada: M; M; N; M. Resposta Correta: M; M; N; M. Feedback da resposta: Resposta correta. Sua resposta foi acertada. O PHP, como linguagem de programação para implementar a camada intermediária, deve possuir boa interação comos gerenciadores de bancos de dados e com o próprio servidor de páginas. No caso, ele possui esses requisitos. Como base para a implementação da camada intermediária e não para a camada de interfaceamento com o usuário, ele (o PHP) não precisa ter requisitos que permita uma boa interação com o HTML. · Pergunta 6 1 em 1 pontos Suponha que você tenha que implementar um projeto que relaciona a classe pessoa (que contém o método locomover ) a três tipos de veículos: carro (métodos acelera e freia ), bicicleta (métodos pedala e freia ) e moto (métodos acelera e freia ). Para melhorar o projeto, pode-se, por exemplo, adotar o padrão strategy . Para essa questão, suponha as afirmativas abaixo. I. A nova versão implementaria uma interface do tipo veículo , que contém os métodos acelera e freia. II. A nova versão implementaria uma nova classe do tipo veículo , que contém os métodos acelera e freia. III. Na nova versão, as classes carro , bicicleta e moto implementariam a interface veículo. IV. Na nova versão, as classes carro , bicicleta e moto fariam parte da composição da classe veículo . V. Na nova versão, as classes carro , bicicleta e moto fariam um relacionamento de cardinalidade 1:1 para a interface veículo. Assinale a alternativa correta. Resposta Selecionada: As afirmativas I e III são verdadeiras. Resposta Correta: As afirmativas I e III são verdadeiras. Feedback da resposta: Resposta correta. Você assinalou a alternativa correta. O padrão strategy sempre implicará em criação de uma interface para que haja apenas um ponto de relacionamento entre o agente e os métodos relativos às classes aglutinadas pela interface. · Pergunta 7 1 em 1 pontos O padrão MVC é um dos mais utilizados no mundo do desenvolvimento de páginas por contemplar um nível de abstração mais amplo. Para tanto, ele contempla três camadas: a camada de modelo, a camada de visão e a camada controladora. Dadas as funcionalidades abaixo, relacione com as camadas atribuindo os valores “M”, “V” e “C”, respectivamente. (_) Conhecida como “ client-side ”. (_) Gerencia as demais outras camadas. (_) Trata as regras de negócio. (_) Determina qual modelo será aplicado e qual forma de visão será passada ao usuário. (_) Utiliza HTML e/ou XML. (_) Notifica as outras duas camadas na ocorrência de alterações. Assinale a alternativa que contém a sequência correta. Resposta Selecionada: V; C; M; C; V; M. Resposta Correta: V; C; M; C; V; M. Feedback da resposta: Resposta correta. Sua resposta está correta. O padrão MVC apresenta a possibilidade de tornar o sistema altamente dinâmico. A camada de controle é capaz de decidir quais serão as regras de negócio que a camada de modelo deverá executar e qual será a visão que o usuário deve ter em um certo momento. A ação da camada de controle é dinâmica, para tal, ela recebe notificações sobre possíveis alterações inerentes à camada de negócio. A camada de visão tem a função de manipular elementos relacionados aos aspectos visuais e de interação com o usuário. Para tanto, manipula codificação em HTML e/ou XML. · Pergunta 8 1 em 1 pontos Padrões de projeto tem o objetivo de auxiliar o processo de projeto e implementação de sistemas computacionais, dentre os quais podemos relacionar as páginas web . Dentre os padrões existentes, podemos citar o GOF que consiste de uma coleção de padrões classificados em padrões de criação, padrões estruturais e padrões comportamentais. Muitos destes padrões compõem, ainda, o padrão MVC. Para essa questão, encontramos, abaixo, uma definição sumária de quatro destes padrões. I. Singleton : permite uma única instanciação de objeto de uma classe específica. II. Interator : objetiva acessar, sequencialmente, os elementos de uma lista sem precisar conhecer a estrutura de relacionamento (por exemplo, array e tabela hash ). III. State : neste padrão, acontece uma alteração do comportamento de um objeto em função da alteração de seu estado. IV. Observer : um objeto realiza a notificação para outros objetos, devido a sua alteração de estado. Dados os exemplos de uso, numere-os de forma a estabelecer um relacionamento entre os padrões apresentados acima e os exemplos de uso. (_) Criar um mapa do site a partir do percurso de todos os elementos que compõem uma coleção de menus. (_) Delimitar uma única conexão ao banco de dados por processo. (_) Objetos da camada de modelo notificam a camada de controle, dentro do escopo do MVC, por ocasião de suas alterações de estado. (_) Dentro de um jogo de RPG, as regras (condições e consequências dos comandos “if”) dependem do estado corrente do objeto. Assinale a alternativa que contenha a sequência correta. Resposta Selecionada: II; I; IV; III. Resposta Correta: II; I; IV; III. Feedback da resposta: Resposta correta. Sua resposta está correta. Temos vários padrões envolvendo a criação de páginas. Cada padrão cobre um aspecto específico em relação à estrutura, comportamento e de visão. · Pergunta 9 1 em 1 pontos Em algumas páginas, após um tempo de inatividade, surgem alguns elementos como, por exemplo, a abertura de uma janela de chat oferendo ajuda para navegar na página. Para essa questão, suponha o código a seguir, para implementar esse recurso do chat: <html> <head> <title>Inicia Página</title> <script language="JavaScript"> function IniciaPagina() { ___(___, 1000); } function AbreChat() { //aqui conteria o código do chat... } </script> </head> <body ___="___()"> Restante da página... </body> </html> Preencha os espaços com os elementos abaixo enumerados. I. onload II. IniciaPagina III. setTimeout IV. setInterval V. AbreChat Assinale a opção que contenha a sequência correta. Resposta Selecionada: III; V; I; II. Resposta Correta: III; V; I; II. Feedback da resposta: Resposta correta. Sua resposta está correta. Para eventos que ocorram apenas uma vez, usa-se o setTimeout. Por outro lado, para eventos periódicos e cíclicos, usa-se o método setInterval. · Pergunta 10 1 em 1 pontos Padrões de projeto tem o objetivo de auxiliar o processo de projeto e implementação de sistemas computacionais, dentre os quais podemos relacionar as páginas web . Dentre os padrões existentes, podemos citar o GOF que consiste de uma coleção de padrões classificados em padrões de criação, padrões estruturais e padrões comportamentais. Muitos destes padrões compõem, ainda, o padrão MVC. Para essa questão, encontramos, abaixo, uma definição sumária de quatro destes padrões: I. Composite : permite a composição de objetos estabelecendo-se uma árvore de hierarquia e relacionamentos entre objetos que compõem a estrutura. II. Applicability : independentemente da estrutura do objeto, todos os objetos de uma estrutura são tratados de forma uniforme, desprezando-se as diferenças entre eles. III. Facade : esse padrão objetiva a construção de uma interface unificada para a integração de um conjunto de interfaces. IV. Data Access Object : realiza a mediação entre a aplicação propriamente dita e a base de dados. Dados os exemplos de uso, numere-os de forma a estabelecer um relacionamento entre os padrões apresentados acima e os exemplos de uso. (_) Permite um baixo acoplamento e uma simplificação em relação à manutenção do sistema. (_) Pode ser usado em ambientes que permitam uma editoração gráfica, na qual a figura consiste de uma árvore de objetos. (_) Criar subcamadas do sistema, permitindo uma abstração em um nível acima. (_) Em um editor gráfico, todos os objetos gráficos, independentemente de suas composições, podem ser reunidos em uma classe abstrata, que incorpora as particularidades de todos os abrangidos. Assinale a alternativa que contenha a sequência correta. Resposta Selecionada: IV; I; III; II. Resposta Correta:IV; I; III; II.
Compartilhar