tehnici de proiectare software-1

Post on 12-Nov-2014

1,638 views 1 download

Tags:

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