tehnici de proiectare software-1
TRANSCRIPT
1
Tehnici de proiectare software
MULTIPLE CHOICE
1. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Abstract Factory c. Builderb. Singleton d. Prototype
2. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. FactoryMethod c. Builderb. Singleton d. Prototype
2
3. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Singleton c. Builderb. FactoryMethod d. Prototype
4. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Builder c. Singletonb. FactoryMethod d. Prototype
5. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Prototype c. Singletonb. FactoryMethod d. Builder
3
6. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Adapter c. Compositeb. Bridge d. Decorator
7. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Bridge c. Compositeb. Adapter d. Decorator
4
8. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Composite c. Bridgeb. Adapter d. Decorator
9. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Decorator c. Bridgeb. Adapter d. Composite
5
10. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Proxy c. Bridgeb. Adapter d. Composite
11. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Observer c. Stateb. Visitor d. Mediator
6
12. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Iterator c. Visitorb. Observer d. Model View Controller
13. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Chain of Responsability c. Observerb. Visitor d. State
7
14. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Template Method c. Visitorb. Observer d. State
15. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Reactor c. Visitorb. Observer d. MVC
8
16. Fie urmatorul program Java: import java.awt.*;import java.awt.event.*;class Model{ private int x=0; public Model(){}; public void actiune(){x++;System.out.println(x);};}public class View extends Frame{ private Button b; private Model m; private Controller c; public static void main(String args[]){ Frame f= new View(); } public View(){ setTitle("Exemplu Model-View-Controller"); b= new Button("Actiune"); add(b); m=new Model();
c=new Controller(m); b.addActionListener(c); setSize(100,50); setVisible(true); }}
class Controller implements ActionListener{ private Model md; public Controller(Model p){ md=p; } public void actionPerformed(ActionEvent e){ md.actiune(); }}
Care afirmatie este adevarata:
a. La apasarea butonului Actiune, valoarea lui x creste cu o unitateb. La apasarea butonului Actiune, nu se intampla nimicc. La apasarea butonului Actiune, programul se terminad. La apasarea butonului Actiune, fereastra se inchide
9
17. Fie urmatorul program Java: import java.awt.*;import java.awt.event.*;class Model{ private int x=0; public Model(){}; public void actiune(){x++;System.out.println(x);};}public class View extends Frame{ private Button b; private Model m; private Controller c; public static void main(String args[]){ Frame f= new View(); } public View(){ setTitle("Exemplu Model-View-Controller"); b= new Button("Actiune"); add(b); m=new Model();
c=new Controller(m); b.addActionListener(c); setSize(100,50); setVisible(true); }}
class Controller implements ActionListener{ private Model md; public Controller(Model p){ md=p; } public void actionPerformed(ActionEvent e){ md.actiune(); }}
Care afirmatie este adevarata:
a. Programul este proiectat conform sablonului Model View Controllerb. Programul este proiectat conform sablonului Observerc. La apasarea butonului Actiune, programul se terminad. La apasarea butonului Actiune, fereastra se inchide
10
18. Fie urmatorul program Java: import java.awt.*;import java.awt.event.*;class Model{ private int x=0; public Model(){}; public void actiune(){x++;System.out.println(x);};}public class View extends Frame{ private Button b; private Model m; private Controller c; public static void main(String args[]){ Frame f= new View(); } public View(){ setTitle("Exemplu Model-View-Controller"); b= new Button("Actiune"); add(b); m=new Model();
c=new Controller(m); b.addActionListener(c); setSize(100,50); setVisible(true); }}
class Controller implements ActionListener{ private Model md; public Controller(Model p){ md=p; } public void actionPerformed(ActionEvent e){ md.actiune(); }}
Care afirmatie este adevarata:
a. Metoda public void actionPerformed(ActionEvent e) face parte din interfata WindowListener
b. Metoda public void actionPerformed(ActionEvent e) face parte din interfata ActionListener
c. Programul este proiectat conform sablonului Observerd. La apasarea butonului Actiune, programul se termina
11
19. Fie urmatorul program Java: import java.awt.*;import java.awt.event.*;class Model{ private int x=0; public Model(){}; public void actiune(){x++;System.out.println(x);};}public class View extends Frame{ private Button b; private Model m; private Controller c; public static void main(String args[]){ Frame f= new View(); } public View(){ setTitle("Exemplu Model-View-Controller"); b= new Button("Actiune"); add(b); m=new Model();
c=new Controller(m); b.addActionListener(c); setSize(100,50); setVisible(true); }}
class Controller implements ActionListener{ private Model md; public Controller(Model p){ md=p; } public void actionPerformed(ActionEvent e){ md.actiune(); }}
Care afirmatie este adevarata:
a. Metoda public void actionPerformed(ActionEvent e) face parte din interfata WindowListener
b. Evenimentul „click” pe butonul Actiune provoaca activarea metodei actionPerformed datorita instructiunii b.addActionListener(c);
c. Evenimentul „click” pe butonul Actiune provoaca activarea metodei actionPerformed datorita instructiunii setVisible(true);
d. Evenimentul „click” pe butonul Actiune provoaca activarea metodei actionPerformed datorita instructiunii setSize(100,50);
12
20. Fie urmatoarea diagrama de clase
Care afirmatie este adevarata:
a. Diagrama este conforma cu sablonul Model View Controllerb. Diagrama este conforma cu sablonul Observerc. Diagrama este conforma cu sablonul Bridged. Diagrama este conforma cu sablonul Singleton
13
21. Fie urmatoarea diagrama de clase
Care afirmatie este adevarata:
a. Implementrea metodei void actionPerformed (ActionEvent) nu este obligatorieb. Implementrea metodei void actionPerformed (ActionEvent) este obligatorie in
clasa Viewc. Implementrea metodei void actionPerformed (ActionEvent) este obligatorie in
clasa Modeld. Implementrea metodei void actionPerformed (ActionEvent) este obligatorie in
clasa Controller
14
22. Fie urmatoarea diagrama de clase
Care afirmatie este adevarata:
a. Clasa View implementeaza interfata ActionListenerb. Clasa Controller implementeaza interfata WindowListenerc. Clasa ActionListener implementeaza interfata Controllerd. Clasa Controller implementeaza interfata ActionListener
15
23. Fie urmatoarea diagrama de clase
Care afirmatie este adevarata:
a. Clasa Model implementeaza interfata ActionListenerb. Clasa View implementeaza interfata ActionListenerc. Clasa ActionListener implementeaza interfata Controllerd. Clasa Controller implementeaza interfata WindowListener
16
24. Fie urmatorul program Java:import java.awt.*;import java.awt.event.*;class Model{ private int x=0; public Model(){}; public void increment(){x++;} public void decrement(){x--;} public int get_x(){return x;}}public class View extends Frame implements WindowListener{ protected Button binc; protected Button bdec; protected Model m; private Controller c; protected TextField tf; public static void main(String args[]){ Frame f= new View(); } public View(){ setTitle("Exemplu Model-View-Controller"); binc= new Button("MINUS"); add("North",binc);
bdec= new Button("PLUS"); add("South",bdec);
m=new Model();
c=new Controller(this); binc.addActionListener(c); bdec.addActionListener(c);
tf=new TextField(10); add("Center",tf); addWindowListener(this); setSize(100,250); setVisible(true); } public void windowClosed(WindowEvent e){} public void windowOpened(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowDeactivated(WindowEvent e){} public void windowClosing(WindowEvent e){ System.exit(0); }
17
}
class Controller implements ActionListener{ private View vw; public Controller(View v){ vw=v; } public void actionPerformed(ActionEvent e){ Button source=(Button)e.getSource(); if (source==vw.binc) vw.m.increment(); else if(source==vw.bdec) vw.m.decrement(); vw.tf.setText(String.valueOf(vw.m.get_x())); }}
Care afirmatie este adevarata:
a. La apasarea butonului PLUS, valoarea lui x descreste cu o unitateb. La apasarea butonului MINUS, valoarea lui x descreste cu o unitatec. La apasarea butonului PLUS, programul se terminad. La apasarea butonului MINUS, fereastra se inchide
18
25. Fie urmatorul program Java:import java.awt.*;import java.awt.event.*;class Model{ private int x=0; public Model(){}; public void increment(){x++;} public void decrement(){x--;} public int get_x(){return x;}}public class View extends Frame implements WindowListener{ protected Button binc; protected Button bdec; protected Model m; private Controller c; protected TextField tf; public static void main(String args[]){ Frame f= new View(); } public View(){ setTitle("Exemplu Model-View-Controller"); binc= new Button("MINUS"); add("North",binc);
bdec= new Button("PLUS"); add("South",bdec);
m=new Model();
c=new Controller(this); binc.addActionListener(c); bdec.addActionListener(c);
tf=new TextField(10); add("Center",tf); addWindowListener(this); setSize(100,250); setVisible(true); } public void windowClosed(WindowEvent e){} public void windowOpened(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowDeactivated(WindowEvent e){} public void windowClosing(WindowEvent e){ System.exit(0); }
19
}
class Controller implements ActionListener{ private View vw; public Controller(View v){ vw=v; } public void actionPerformed(ActionEvent e){ Button source=(Button)e.getSource(); if (source==vw.binc) vw.m.increment(); else if(source==vw.bdec) vw.m.decrement(); vw.tf.setText(String.valueOf(vw.m.get_x())); }}
Care afirmatie este adevarata:
a. La apasarea butonului PLUS, valoarea lui x creste cu o unitateb. La apasarea butonului MINUS, valoarea lui x creste cu o unitatec. La apasarea butonului PLUS, programul se terminad. La apasarea butonului MINUS, valoarea lui x descreste cu o unitate
20
26. Fie urmatorul program Java:import java.awt.*;import java.awt.event.*;class Model{ private int x=0; public Model(){}; public void increment(){x++;} public void decrement(){x--;} public int get_x(){return x;}}public class View extends Frame implements WindowListener{ protected Button binc; protected Button bdec; protected Model m; private Controller c; protected TextField tf; public static void main(String args[]){ Frame f= new View(); } public View(){ setTitle("Exemplu Model-View-Controller"); binc= new Button("MINUS"); add("North",binc);
bdec= new Button("PLUS"); add("South",bdec);
m=new Model();
c=new Controller(this); binc.addActionListener(c); bdec.addActionListener(c);
tf=new TextField(10); add("Center",tf); addWindowListener(this); setSize(100,250); setVisible(true); } public void windowClosed(WindowEvent e){} public void windowOpened(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowDeactivated(WindowEvent e){} public void windowClosing(WindowEvent e){ System.exit(0); }
21
}
class Controller implements ActionListener{ private View vw; public Controller(View v){ vw=v; } public void actionPerformed(ActionEvent e){ Button source=(Button)e.getSource(); if (source==vw.binc) vw.m.increment(); else if(source==vw.bdec) vw.m.decrement(); vw.tf.setText(String.valueOf(vw.m.get_x())); }}
Care afirmatie este adevarata:
a. Clasa Controller implementeaza interfata ActionListenerb. Clasa Controller implementeaza interfata WindowListenerc. Clasa View implementeaza interfata ActionListenerd. Clasa Model implementeaza interfata ActionListener
22
27. Fie urmatorul program Java:import java.awt.*;import java.awt.event.*;class Model{ private int x=0; public Model(){}; public void increment(){x++;} public void decrement(){x--;} public int get_x(){return x;}}public class View extends Frame implements WindowListener{ protected Button binc; protected Button bdec; protected Model m; private Controller c; protected TextField tf; public static void main(String args[]){ Frame f= new View(); } public View(){ setTitle("Exemplu Model-View-Controller"); binc= new Button("MINUS"); add("North",binc);
bdec= new Button("PLUS"); add("South",bdec);
m=new Model();
c=new Controller(this); binc.addActionListener(c); bdec.addActionListener(c);
tf=new TextField(10); add("Center",tf); addWindowListener(this); setSize(100,250); setVisible(true); } public void windowClosed(WindowEvent e){} public void windowOpened(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowDeactivated(WindowEvent e){} public void windowClosing(WindowEvent e){ System.exit(0); }
23
}
class Controller implements ActionListener{ private View vw; public Controller(View v){ vw=v; } public void actionPerformed(ActionEvent e){ Button source=(Button)e.getSource(); if (source==vw.binc) vw.m.increment(); else if(source==vw.bdec) vw.m.decrement(); vw.tf.setText(String.valueOf(vw.m.get_x())); }}
Care afirmatie este adevarata:
a. Clasa Controller implementeaza interfata WindowListenerb. Clasa Controller implementeaza interfata WindowListenerc. Clasa View implementeaza interfata WindowListenerd. Clasa Model implementeaza interfata ActionListener
24
28. Fie urmatorul program Java:import java.awt.*;import java.awt.event.*;class Model{ private int x=0; public Model(){}; public void increment(){x++;} public void decrement(){x--;} public int get_x(){return x;}}public class View extends Frame implements WindowListener{ protected Button binc; protected Button bdec; protected Model m; private Controller c; protected TextField tf; public static void main(String args[]){ Frame f= new View(); } public View(){ setTitle("Exemplu Model-View-Controller"); binc= new Button("MINUS"); add("North",binc);
bdec= new Button("PLUS"); add("South",bdec);
m=new Model();
c=new Controller(this); binc.addActionListener(c); bdec.addActionListener(c);
tf=new TextField(10); add("Center",tf); addWindowListener(this); setSize(100,250); setVisible(true); } public void windowClosed(WindowEvent e){} public void windowOpened(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowDeactivated(WindowEvent e){} public void windowClosing(WindowEvent e){ System.exit(0); }
25
}
class Controller implements ActionListener{ private View vw; public Controller(View v){ vw=v; } public void actionPerformed(ActionEvent e){ Button source=(Button)e.getSource(); if (source==vw.binc) vw.m.increment(); else if(source==vw.bdec) vw.m.decrement(); vw.tf.setText(String.valueOf(vw.m.get_x())); }}
Care afirmatie este adevarata:
a. Fara instructiunea binc.addActionListener(c), butoanele PLUS si MINUS devine inactive
b. Fara instructiunea binc.addActionListener(c), butonul PLUS devine inactiv;c. Fara instructiunea binc.addActionListener(c), butonul MINUS devine inactiv;d. Fara instructiunea binc.addActionListener(c), butonul PLUS nu mai este
desenat in cadrul ferestyrei
26
29. Fie urmatorul program Java:import java.awt.*;import java.awt.event.*;class Model{ private int x=0; public Model(){}; public void increment(){x++;} public void decrement(){x--;} public int get_x(){return x;}}public class View extends Frame implements WindowListener{ protected Button binc; protected Button bdec; protected Model m; private Controller c; protected TextField tf; public static void main(String args[]){ Frame f= new View(); } public View(){ setTitle("Exemplu Model-View-Controller"); binc= new Button("MINUS"); add("North",binc);
bdec= new Button("PLUS"); add("South",bdec);
m=new Model();
c=new Controller(this); binc.addActionListener(c); bdec.addActionListener(c);
tf=new TextField(10); add("Center",tf); addWindowListener(this); setSize(100,250); setVisible(true); } public void windowClosed(WindowEvent e){} public void windowOpened(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowDeactivated(WindowEvent e){} public void windowClosing(WindowEvent e){ System.exit(0); }
27
}
class Controller implements ActionListener{ private View vw; public Controller(View v){ vw=v; } public void actionPerformed(ActionEvent e){ Button source=(Button)e.getSource(); if (source==vw.binc) vw.m.increment(); else if(source==vw.bdec) vw.m.decrement(); vw.tf.setText(String.valueOf(vw.m.get_x())); }}
Care afirmatie este adevarata:
a. Fara instructiunea binc.addActionListener(c), butoanele PLUS si MINUS devine inactive
b. Fara instructiunea bdec.addActionListener(c), butonul PLUS devine inactiv;c. Fara instructiunea binc.addActionListener(c), butonul PLUS devine inactiv;d. Fara instructiunea binc.addActionListener(c), butonul PLUS nu mai este
desenat in cadrul ferestyrei
28
30. Fie urmatorul program Java:import java.awt.*;import java.awt.event.*;class Model{ private int x=0; public Model(){}; public void increment(){x++;} public void decrement(){x--;} public int get_x(){return x;}}public class View extends Frame implements WindowListener{ protected Button binc; protected Button bdec; protected Model m; private Controller c; protected TextField tf; public static void main(String args[]){ Frame f= new View(); } public View(){ setTitle("Exemplu Model-View-Controller"); binc= new Button("MINUS"); add("North",binc);
bdec= new Button("PLUS"); add("South",bdec);
m=new Model();
c=new Controller(this); binc.addActionListener(c); bdec.addActionListener(c);
tf=new TextField(10); add("Center",tf); addWindowListener(this); setSize(100,250); setVisible(true); } public void windowClosed(WindowEvent e){} public void windowOpened(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowDeactivated(WindowEvent e){} public void windowClosing(WindowEvent e){ System.exit(0); }
29
}
class Controller implements ActionListener{ private View vw; public Controller(View v){ vw=v; } public void actionPerformed(ActionEvent e){ Button source=(Button)e.getSource(); if (source==vw.binc) vw.m.increment(); else if(source==vw.bdec) vw.m.decrement(); vw.tf.setText(String.valueOf(vw.m.get_x())); }}
Care afirmatie este adevarata:
a. Fara instructiunea bdec.addActionListener(c), butoanele PLUS si MINUS devine inactive
b. Fara instructiunea bdec.addActionListener(c), butonul PLUS devine inactiv;c. Fara instructiunea binc.addActionListener(c), butonul PLUS devine inactiv;d. Fara instructiunea binc.addActionListener(c), butonul PLUS nu mai este
desenat in cadrul ferestrei
30
31. Fie urmatorul program:import java.util.*;class Oscilator extends Thread { long secunda=0; public void run(){ while(true){ try {sleep (1000);} catch (Exception e){} secunda++; } } public long getSecunda(){return secunda;}
}
class MecanismCronometru extends Observable{ Oscilator osc=new Oscilator(); long timp= -1; MecanismCronometru(){osc.start();} void porneste(){ long timpNou; while(true){ timpNou=osc.getSecunda(); if(timpNou!= timp){ timp=timpNou; setChanged(); notifyObservers(); } } }}
class Cadran implements Observer{ Afisare af; public Cadran(Afisare loc){af=loc;} public void update(Observable o, Object arg){ long secundaCurenta=((MecanismCronometru)o).timp; if(secundaCurenta%5==0) af.afiseaza(secundaCurenta); }}
interface Afisare{ public void afiseaza(long i);}
class AfisarePeMonitor implements Afisare{ public void afiseaza(long i){ System.out.println(""+i); } }
31
public class Cronometru{ MecanismCronometru m; Cadran c1; public Cronometru(){ m=new MecanismCronometru(); c1= new Cadran(new AfisarePeMonitor()); m.addObserver(c1); m.porneste(); } public static void main(String[] args){ Cronometru pobeda=new Cronometru();
}}
Care afirmatie este adevarata:
a. Programul implementeaza sablonul Bridgeb. Programul implementeaza sablonul Observerc. Programul implementeaza sablonul MVCd. Programul implementeaza sablonul State
32
32. Fie urmatorul program Java :
import java.util.Observer;import java.util.Observable;import java.awt.*;import java.awt.event.*;public class Observator extends Frame implements WindowListener, Observer{ static protected ModelObservabil m=new ModelObservabil(); protected Button exitB, actB; protected TextField field; private ButtonController buttonC; public static void main(String args[]){ Frame fn=new Observator(0);// nu observa pe m Frame f01=new Observator(1);// observa pe m Frame f02=new Observator(1);// observa pe m } public Observator(int i){ if (i==1)m.addObserver(this); Panel p= new Panel(); buttonC=new ButtonController(this); exitB= new Button("Exit"); exitB.addActionListener(buttonC); actB= new Button("modifica"); actB.addActionListener(buttonC); field= new TextField("MyTextField"); field.setEditable(true); p.add(exitB); p.add(actB); add(field); add("North",p); addWindowListener(this); setSize(160,110); setVisible(true); } public void windowClosed(WindowEvent e){} public void windowOpened(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowDeactivated(WindowEvent e){} public void windowClosing(WindowEvent e){dispose(); //System.exit(0); } public void update(Observable observ, Object ob){ field.setText(m.afis);
}
}
class ButtonController implements ActionListener{ Observator view; public ButtonController(Observator win){ view=win; } public void actionPerformed (ActionEvent e){ Object source=e.getSource(); if (source == view.exitB) System.exit(0); else { view.m.modifica(); };
33
}
}
class ModelObservabil extends Observable{ protected int i=0; protected String afis=" "; public ModelObservabil(){ setChanged(); notifyObservers(); } public void modifica(){ i++; afis= " "+ i; setChanged(); notifyObservers(); }}
Care afirmatie este adevarata:a. Valoarea lui m.i se modifica prin actionarea butonului „modifica” din oricare dintre
ferestrele fn, fo1,fo2.b. Valoarea lui m.i se modifica numaiu prin actionarea butonului „modifica” din
fereastra fnc. Valoarea lui m.i se modifica numaiu prin actionarea butonului „modifica” din
fereastra fo1d. Valoarea lui m.i se modifica numaiu prin actionarea butonului „modifica” din
fereastra fo2
34
33. Fie urmatorul program Java :
import java.util.Observer;import java.util.Observable;import java.awt.*;import java.awt.event.*;public class Observator extends Frame implements WindowListener, Observer{ static protected ModelObservabil m=new ModelObservabil(); protected Button exitB, actB; protected TextField field; private ButtonController buttonC; public static void main(String args[]){ Frame fn=new Observator(0);// nu observa pe m Frame f01=new Observator(1);// observa pe m Frame f02=new Observator(1);// observa pe m } public Observator(int i){ if (i==1)m.addObserver(this); Panel p= new Panel(); buttonC=new ButtonController(this); exitB= new Button("Exit"); exitB.addActionListener(buttonC); actB= new Button("modifica"); actB.addActionListener(buttonC); field= new TextField("MyTextField"); field.setEditable(true); p.add(exitB); p.add(actB); add(field); add("North",p); addWindowListener(this); setSize(160,110); setVisible(true); } public void windowClosed(WindowEvent e){} public void windowOpened(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowDeactivated(WindowEvent e){} public void windowClosing(WindowEvent e){dispose(); //System.exit(0); } public void update(Observable observ, Object ob){ field.setText(m.afis);
}
}
class ButtonController implements ActionListener{ Observator view; public ButtonController(Observator win){ view=win; } public void actionPerformed (ActionEvent e){ Object source=e.getSource(); if (source == view.exitB) System.exit(0); else { view.m.modifica(); };
35
}
}
class ModelObservabil extends Observable{ protected int i=0; protected String afis=" "; public ModelObservabil(){ setChanged(); notifyObservers(); } public void modifica(){ i++; afis= " "+ i; setChanged(); notifyObservers(); }}
Care afirmatie este adevarata:a. Programul implementeaza sabloanele Model View Controller si Observerb. Programul implementeaza doar sablonul Model View Controllerc. Programul implementeaza doar sablonul Observerd. Programul implementeaza sablonul Bridge
36
34. Fie urmatorul program Java :
import java.util.Observer;import java.util.Observable;import java.awt.*;import java.awt.event.*;public class Observator extends Frame implements WindowListener, Observer{ static protected ModelObservabil m=new ModelObservabil(); protected Button exitB, actB; protected TextField field; private ButtonController buttonC; public static void main(String args[]){ Frame fn=new Observator(0);// nu observa pe m Frame f01=new Observator(1);// observa pe m Frame f02=new Observator(1);// observa pe m } public Observator(int i){ if (i==1)m.addObserver(this); Panel p= new Panel(); buttonC=new ButtonController(this); exitB= new Button("Exit"); exitB.addActionListener(buttonC); actB= new Button("modifica"); actB.addActionListener(buttonC); field= new TextField("MyTextField"); field.setEditable(true); p.add(exitB); p.add(actB); add(field); add("North",p); addWindowListener(this); setSize(160,110); setVisible(true); } public void windowClosed(WindowEvent e){} public void windowOpened(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowDeactivated(WindowEvent e){} public void windowClosing(WindowEvent e){dispose(); //System.exit(0); } public void update(Observable observ, Object ob){ field.setText(m.afis);
}
}
class ButtonController implements ActionListener{ Observator view; public ButtonController(Observator win){ view=win; } public void actionPerformed (ActionEvent e){ Object source=e.getSource(); if (source == view.exitB) System.exit(0); else { view.m.modifica(); };
37
}
}
class ModelObservabil extends Observable{ protected int i=0; protected String afis=" "; public ModelObservabil(){ setChanged(); notifyObservers(); } public void modifica(){ i++; afis= " "+ i; setChanged(); notifyObservers(); }}
Care afirmatie este adevarata:a. La modificarea lui m.i, noua valoare este afisata doar in ferestrele fo1 si fo2.b. La modificarea lui m.i, noua valoare este afisata in ferestrele fn, fo1, fo2c. La modificarea lui m.i, noua valoare este afisata doar in fereastra fo1d. La modificarea lui m.i, noua valoare este afisata doar in fereastra fo2
38
35. Fie urmatorul program Java :
import java.util.Observer;import java.util.Observable;import java.awt.*;import java.awt.event.*;public class Observator extends Frame implements WindowListener, Observer{ static protected ModelObservabil m=new ModelObservabil(); protected Button exitB, actB; protected TextField field; private ButtonController buttonC; public static void main(String args[]){ Frame fn=new Observator(0);// nu observa pe m Frame f01=new Observator(1);// observa pe m Frame f02=new Observator(1);// observa pe m } public Observator(int i){ if (i==1)m.addObserver(this); Panel p= new Panel(); buttonC=new ButtonController(this); exitB= new Button("Exit"); exitB.addActionListener(buttonC); actB= new Button("modifica"); actB.addActionListener(buttonC); field= new TextField("MyTextField"); field.setEditable(true); p.add(exitB); p.add(actB); add(field); add("North",p); addWindowListener(this); setSize(160,110); setVisible(true); } public void windowClosed(WindowEvent e){} public void windowOpened(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowDeactivated(WindowEvent e){} public void windowClosing(WindowEvent e){dispose(); //System.exit(0); } public void update(Observable observ, Object ob){ field.setText(m.afis);
}
}
class ButtonController implements ActionListener{ Observator view; public ButtonController(Observator win){ view=win; } public void actionPerformed (ActionEvent e){ Object source=e.getSource(); if (source == view.exitB) System.exit(0); else { view.m.modifica(); };
39
}
}
class ModelObservabil extends Observable{ protected int i=0; protected String afis=" "; public ModelObservabil(){ setChanged(); notifyObservers(); } public void modifica(){ i++; afis= " "+ i; setChanged(); notifyObservers(); }}
Care afirmatie este adevarata:a. Obiectele fo1 si fo2 sunt obiecte care observa obiectul m.b. Doar fn observa pe mc. Doar fo1 observa pe md. Doar fo2 observa pe m
40
36. Fie urmatoarea diagrama de colaborare intre obiecte.
Care din urmatoarele afirmatii este adevarata:a. Diagrama reprezinta colaborarea intre obiectele sablonului Observer-Observableb. Diagrama reprezinta colaborarea intre obiectele sablonului MVCc. Diagrama reprezinta colaborarea intre obiectele sablonului Bridged. Diagrama reprezinta colaborarea intre obiectele sablonului State
37. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Strategy c. Observerb. Visitor d. State
41
38. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. State c. Proxyb. Visitor d. State
39. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Bridge c. Decoratorb. Visitor d. State
42
40. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Composite c. Strategyb. Visitor d. Bridge
41. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Flyweight c. Compositeb. Proxy d. Bridge
43
42. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Interpreter c. Observerb. Prototype d. Iterator
43. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Decorator c. Observerb. Prototype d. Proxy
44
44. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Chain of responsability c. Adapterb. Prototype d. Bridge
45. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Facade c. Adapterb. Prototype d. Decorator
45
46. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Adapter c. Proxyb. Bridge d. Decorator
47. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Proxy c. Adapterb. Mediator d. Decorator
46
48. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Command c. Mediatorb. Builder d. Facade
49. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Memento c. Stateb. Composite d. Visitor
47
50. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Iterator c. Observerb. Compozite d. Visitor
51. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Mediator c. Proxyb. Adapter d. Facade
48
52. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Observer c. Proxyb. Decorator d. Template Method
53. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Template Method c. Proxyb. Bridge d. Decorator
49
54. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Visitor c. Observerb. Iterator d. Interpreter
50
55. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Factory Method c. Facadeb. Bridge d. Decorator
56. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Prototype c. Facadeb. Bridge d. Decorator
51
57. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Abstract Factory c. Facadeb. Bridge d. Decorator
52
58. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Builder c. Bridgeb. Factory Method d. Decorator
59. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Singleton c. Facadeb. Bridge d. Decorator
60. Ce sablon de proiectare nu este un sablon creational ?a. Decorator c. Prototypeb. Builder d. Abstract Factory