Explore as questões disponíveis e prepare-se para seus estudos!
Julgue o próximo item, relativo aos padrões de programação para smartphones, às tecnologias de persistência de dados em dispositivos móveis e aos modelos de ciclo de vida de software.
A principal característica do padrão Factory method é que ele permite a clonagem de objetos, para evitar instanciar novas instâncias repetitivamente.
Código fonte em Java para as questões 34 e 35.
package com.example. demo;
public class MyCalc {
public static void main(String[] args) {
double amount = 1000;
double intRate = 2;
int period = 12;
CalcSrv c = new CalcSrv(new CalcLC());
double fv = c.fValue (amount, intRate, period);
System.out.printf("VF of LC:%.2\n", fv);
c = new CalcSrv (new CalcCDB());
fv = c.fValue(amount,intRate, period);
System.out.printf("VE of CDB:%.2f", fv);
}
private static class CalcSrv {
private CalcFV calcsrv;
public CalcSrv(CalcFV calcsrv) {
this.calcsryv = calesrv;
}
public double fvalue(double amount, double intRate, int period) {
amount = amount + calcsrv.calc(amount, intRate, period);
return amount;
}
}
interface CalcFV {
double calc(double amount, double intRate, int period);
}
private static class CalcLC implements CalcFV{
@Override
public double calc(double amount, double intRate, int period)
return (amount * Math.pow(1 + intRate/100, period)) - amount;
}
}
private static class CalcCDB implements CalcFV{
@Override
public double calc(double amount, double intRate, int period){
double fv = amount * Math.pow(1 + intRate/100, period);
if (period >12)
return (fv - amount) * 0.85;
return (fv - amount) * 0.78;
}
}
}
Qual Padrão de Projeto foi implementado nesse código?
Considere o código resumido a seguir, implementado em PHP, para responder à questão.
1. class Pessoa {
2. public static function salvar($nome, $email) {/*...*/ return $id;}
3. }
4. class Aluno {
5. public static function salvar($id, $matricula) {/*...*/}
6. }
7. class Registro {
8. public static function registrar($nome, $email, $matricula) {
9. Aluno::salvar(Pessoa::salvar($nome, $email), $matricula);
10. }
11. }
12. Registro::registrar(“Aluno 1”, “1@luno.com”, 1001);
Acerca de padrões estruturais, julgue o item subsequente.
Um cliente que precisa tratar, de maneira uniforme, objetos
individuais e suas composições deve utilizar, para essa
finalidade, o padrão Facade.