Command Design Pattern

Command Design Pattern

1134 Görüntülenme
0
0

Merhabalar değerli Java dostları,

Bugünkü yazımda bir başka şablon olan command design pattern anlatmak istiyorum. Öncelikle şunu belirteyim ki command design pattern, davranış sınıfına giren bir şablondur. Yani sınıflarınızın davranışı, işleyişi ile ilgili bir çözüm araıyorsanız command design pattern işinizi görebilir. İsterseniz önce örneğimize bakalım sonra da command design pattern ne için kullanılır sorusuna cevap arayalım.

package anajavatica.pattern.behavioral.command;public abstract class Car {
public abstract void startCar();
public abstract void stopCar();
}
package anajavatica.pattern.behavioral.command;public class Opel extends Car {
@Override
public void startCar() {
// do something before start the car.
System.out.println(“Opel started.”);
}
@Override
public void stopCar() {
// do something before stop the car.
System.out.println(“Opel stopped.”);
}
}
package anajavatica.pattern.behavioral.command;public class Audi extends Car {
@Override
public void startCar() {
// do something before start the car.
System.out.println(“Audi started.”);
}
@Override
public void stopCar() {
// do something before stop the car.
System.out.println(“Audi stopped.”);
}
}
package anajavatica.pattern.behavioral.command;public interface ICommand {
public void execute();
}
package anajavatica.pattern.behavioral.command;public class StartCommand implements ICommand {
private Car car = null;
public StartCommand(Car car) {
this.car = car;
}
@Override
public void execute() {
car.startCar();
}
}
package anajavatica.pattern.behavioral.command;public class StopCommand implements ICommand {
private Car car = null;
public StopCommand(Car car) {
this.car = car;
}
@Override
public void execute() {
car.stopCar();
}
}
package anajavatica.pattern.behavioral.command;public class CommandMain {
public static void main(String[] args) {
Car opel = new Opel();
Car audi = new Audi();
ICommand opelStartCommand = new StartCommand(opel);
ICommand audiStartCommand = new StartCommand(audi);
ICommand opelStopCommand = new StopCommand(opel);
ICommand audiStopCommand = new StopCommand(audi);
opelStartCommand.execute();
opelStopCommand.execute();
audiStartCommand.execute();
audiStopCommand.execute();
}
}

Bol Java'lı günler dileğiyle :)

Yazan: Faruk BOZAN

Yorum Yap

Kategoriler