Professional Documents
Culture Documents
Rezolvari Tehnici de Proiectare Software (An 3, Sem (1) - 1)
Rezolvari Tehnici de Proiectare Software (An 3, Sem (1) - 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 ]