Professional Documents
Culture Documents
Rezolvari Tehnici de Proiectare Software (An 3, Sem. 1)
Rezolvari Tehnici de Proiectare Software (An 3, Sem. 1)
MULTIPLE CHOICE
a. FactoryMethod c. Builder
b. Singleton d. Prototype
[ http://www.lepus.org.uk/ref/companion/FactoryMethod.xml ]
3. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Singleton c. Builder
b. FactoryMethod d. Prototype
[ http://en.wikipedia.org/wiki/Singleton_pattern ]
a. Builder c. Singleton
b. FactoryMethod d. Prototype
[ http://en.wikipedia.org/wiki/Builder_pattern ]
5. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Prototype c. Singleton
b. FactoryMethod d. Builder
[ http://www.programmersheaven.com/2/Tutorial-Design-Patterns-Prototype ]
6. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Adaptor c. Composite
b. Bridge d. Decorator
[ http://www.lepus.org.uk/ref/companion/Adapter(Class).xml ]
a. Bridge c. Composite
b. Adapter d. Decorator
[ http://en.wikipedia.org/wiki/Bridge_pattern ]
a. Decorator c. Bridge
b. Adapter d. Composite
[ http://www.lepus.org.uk/ref/companion/Decorator.xml ]
a. Proxy c. Bridge
b. Adapter d. Composite
[ http://www.lepus.org.uk/ref/companion/Proxy.xml ]
a. Observer c. State
b. Visitor d. Mediator
[ http://www.lepus.org.uk/ref/companion/Observer.xml ]
12. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Iterator c. Visitor
b. Observer d. Model View Controller
[ http://www.lepus.org.uk/ref/companion/Iterator.xml ]
[ http://www.lepus.org.uk/ref/companion/TemplateMethod.xml ]
a. Reactor c. Visitor
b. Observer d. MVC
[ http://en.wikipedia.org/wiki/Reactor_pattern ]
16. Fie urmatorul program Java:
import java.awt.event.*;
class Model{
private int x=0;
public Model(){};
public void actiune(){x++;System.out.println(x);};
}
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);
}
}
import java.awt.event.*;
class Model{
private int x=0;
public Model(){};
public void actiune(){
x++;
System.out.println(x);
};
}
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);
}
}
import java.awt.event.*;
class Model{
private int x=0;
public Model(){};
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);
}
}
import java.awt.event.*;
class Model{
private int x=0;
public Model(){};
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);
}
}
?
24. Fie urmatorul program Java:
import java.awt.*;
import java.awt.event.*;
class Model{
private int x=0;
public Model(){};
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);
}
if (source==vw.binc)
vw.m.increment();
else if(source==vw.bdec)
vw.m.decrement();
vw.tf.setText(String.valueOf(vw.m.get_x()));
}
}
}
[ Trick, de fapt sunt inversate, cu binc se incrementeaza, dar are eticheta "MINUS" ]
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);
}
if (source==vw.binc)
vw.m.increment();
else if(source==vw.bdec)
vw.m.decrement();
vw.tf.setText(String.valueOf(vw.m.get_x()));
}
}
}
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);
}
if (source==vw.binc)
vw.m.increment();
else if(source==vw.bdec)
vw.m.decrement();
vw.tf.setText(String.valueOf(vw.m.get_x()));
}
}
}
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);
}
if (source==vw.binc)
vw.m.increment();
else if(source==vw.bdec)
vw.m.decrement();
vw.tf.setText(String.valueOf(vw.m.get_x()));
}
}
}
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);
}
if (source==vw.binc)
vw.m.increment();
else if(source==vw.bdec)
vw.m.decrement();
vw.tf.setText(String.valueOf(vw.m.get_x()));
}
}
}
if (source==vw.binc)
vw.m.increment();
else if(source==vw.bdec)
vw.m.decrement();
vw.tf.setText(String.valueOf(vw.m.get_x()));
}
}
}
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);
}
if (source==vw.binc)
vw.m.increment();
else if(source==vw.bdec)
vw.m.decrement();
vw.tf.setText(String.valueOf(vw.m.get_x()));
}
}
}
import java.util.*;
MecanismCronometru(){
osc.start();
}
void porneste(){
long timpNou;
while(true){
timpNou=osc.getSecunda();
if(timpNou!= timp){
timp=timpNou;
setChanged();
notifyObservers();
}
}
}
}
interface Afisare{
public void afiseaza(long i);
}
public Cronometru(){
m=new MecanismCronometru();
c1= new Cadran(new AfisarePeMonitor());
m.addObserver(c1);
m.porneste();
}
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 ModelObservabil(){
setChanged();
notifyObservers();
}
setChanged();
notifyObservers();
}
}
public ModelObservabil(){
setChanged();
notifyObservers();
}
setChanged();
notifyObservers();
}
}
public ModelObservabil(){
setChanged();
notifyObservers();
}
setChanged();
notifyObservers();
}
}
public ModelObservabil(){
setChanged();
notifyObservers();
}
setChanged();
notifyObservers();
}
}
a. Strategy c. Observer
b. Visitor d. State
a. State c. Proxy
b. Visitor d. State
39. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Bridge c. Decorator
b. Visitor d. State
a. Composite c. Strategy
b. Visitor d. Bridge
41. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Flyweight c. Composite
b. Proxy d. Bridge
a. Interpreter b. Prototype
c. Observer d. Iterator
43. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Facade c. Adapter
b. Prototype d. Decorator
a. Adapter c. Proxy
b. Bridge d. Decorator
47. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Proxy c. Adapter
b. Mediator d. Decorator
a. Command c. Mediator
b. Builder d. Facade
49. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Memento c. State
b. Composite d. Visitor
a. Iterator c. Observer
b. Compozite d. Visitor
51. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Mediator c. Proxy
b. Adapter d. Facade
[ probabil mediator, but I wouldn't bet on it ]
a. Observer c. Proxy
b. Decorator d. Template Method
53. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Visitor c. Observer
b. Iterator d. Interpreter
55. Ce sablon de proiectare reprezinta diagrama urmatoare:
a. Builder c. Bridge
b. Factory Method d. Decorator
a. Singleton c. Facade
b. Bridge d. Decorator
[ resursa e globală, deci nu poate fi instanţiată local ]
a. Decorator c. Prototype
b. Builder d. Abstract Factory
[ e structural ]