dimanche 15 février 2015

Validating the implementation of the Decorator Pattern in Java

I am learning hands on implementation of Design Patterns. The following is an implementation of the Decorator Design Pattern. I would like to know if the implementation is correct. Let me know if it can be improved or is incorrect.



interface Markable
{
void mark();
}
class SingleMarker implements Markable
{

@Override
public void mark() {
System.out.println("Single Marker");

}
}
class MarkerDecorator implements Markable
{
protected SingleMarker singleMarker;
public MarkerDecorator(final SingleMarker singleMarker) {
this.singleMarker = singleMarker;
}
@Override
public void mark() {
this.singleMarker.mark();
}
}
class MultipleMarker extends MarkerDecorator
{
private int numberOfMarks;
public MultipleMarker(SingleMarker singleMarker) {
this(singleMarker, 2);
}
public MultipleMarker(SingleMarker singleMarker, int numberOfMarks) {
super(singleMarker);
this.numberOfMarks = numberOfMarks;
}
@Override
public void mark() {
for (int i = 0; i < numberOfMarks; i++) {
super.singleMarker.mark();
}
}

}




  • P.S.


    If this question is inappropriate for this forum, please let me know.




Aucun commentaire:

Enregistrer un commentaire