+ All Categories
Home > Documents > tehnici de proiectare software-1

tehnici de proiectare software-1

Date post: 12-Nov-2014
Category:
Upload: laurentziuss
View: 1,638 times
Download: 1 times
Share this document with a friend
Popular Tags:
52
1 Tehnici de proiectare software MULTIPLE CHOICE 1. Ce sablon de proiectare reprezinta diagrama urmatoare: a. Abstract Factory c. Builder b. Singleton d. Prototype 2. Ce sablon de proiectare reprezinta diagrama urmatoare: a. FactoryMethod c. Builder b. Singleton d. Prototype
Transcript
Page 1: tehnici de proiectare software-1

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

Page 2: tehnici de proiectare software-1

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

Page 3: tehnici de proiectare software-1

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

Page 4: tehnici de proiectare software-1

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

Page 5: tehnici de proiectare software-1

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

Page 6: tehnici de proiectare software-1

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

Page 7: tehnici de proiectare software-1

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

Page 8: tehnici de proiectare software-1

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

Page 9: tehnici de proiectare software-1

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

Page 10: tehnici de proiectare software-1

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

Page 11: tehnici de proiectare software-1

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);

Page 12: tehnici de proiectare software-1

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

Page 13: tehnici de proiectare software-1

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

Page 14: tehnici de proiectare software-1

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

Page 15: tehnici de proiectare software-1

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

Page 16: tehnici de proiectare software-1

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); }

Page 17: tehnici de proiectare software-1

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

Page 18: tehnici de proiectare software-1

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); }

Page 19: tehnici de proiectare software-1

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

Page 20: tehnici de proiectare software-1

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); }

Page 21: tehnici de proiectare software-1

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

Page 22: tehnici de proiectare software-1

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); }

Page 23: tehnici de proiectare software-1

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

Page 24: tehnici de proiectare software-1

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); }

Page 25: tehnici de proiectare software-1

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

Page 26: tehnici de proiectare software-1

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); }

Page 27: tehnici de proiectare software-1

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

Page 28: tehnici de proiectare software-1

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); }

Page 29: tehnici de proiectare software-1

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

Page 30: tehnici de proiectare software-1

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); } }

Page 31: tehnici de proiectare software-1

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

Page 32: tehnici de proiectare software-1

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(); };

Page 33: tehnici de proiectare software-1

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

Page 34: tehnici de proiectare software-1

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(); };

Page 35: tehnici de proiectare software-1

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

Page 36: tehnici de proiectare software-1

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(); };

Page 37: tehnici de proiectare software-1

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

Page 38: tehnici de proiectare software-1

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(); };

Page 39: tehnici de proiectare software-1

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

Page 40: tehnici de proiectare software-1

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

Page 41: tehnici de proiectare software-1

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

Page 42: tehnici de proiectare software-1

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

Page 43: tehnici de proiectare software-1

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

Page 44: tehnici de proiectare software-1

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

Page 45: tehnici de proiectare software-1

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

Page 46: tehnici de proiectare software-1

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

Page 47: tehnici de proiectare software-1

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

Page 48: tehnici de proiectare software-1

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

Page 49: tehnici de proiectare software-1

49

54. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Visitor c. Observerb. Iterator d. Interpreter

Page 50: tehnici de proiectare software-1

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

Page 51: tehnici de proiectare software-1

51

57. Ce sablon de proiectare reprezinta diagrama urmatoare:

a. Abstract Factory c. Facadeb. Bridge d. Decorator

Page 52: tehnici de proiectare software-1

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


Recommended