Vous êtes sur la page 1sur 5

Name: Asim Khawaja

Roll NO: 16F-8108


Section: D
Problem 1:

Template Pattern:
Game:

public abstract class Game {

abstract void initialize();

abstract void startPlay();

abstract void endPlay();

//template method

public final void play(){

//initialize the game

initialize();

//start game

startPlay();

//end game

endPlay();

}
Cricket:

public class Cricket extends Game {

@Override

void endPlay() {

System.out.println("Cricket Game Finished!");

@Override

void initialize() {

System.out.println("Cricket Game Initialized! Start playing.");

@Override

void startPlay() {

System.out.println("Cricket Game Started. Enjoy the game!");

}
Football:

public class Football extends Game {

@Override

void endPlay() {

System.out.println("Football Game Finished!");

@Override

void initialize() {

System.out.println("Football Game Initialized! Start playing.");

@Override

void startPlay() {

System.out.println("Football Game Started. Enjoy the game!");

Main:

public class Main {

public static void main(String[] args) {

Game game = new Cricket();

game.play();

System.out.println();
game = new Football();

game.play();

Problem 2
Mediator:
Code:

Main:
package Mediator;

public class Main {


public static void main(String[] args) {
User david = new User("harry");
User scott = new User("petter");

david.sendMessage("Hi Scott! How are you?");


scott.sendMessage("I'm great! Thanks for asking. How are you?");
}
}
Chat
package Mediator;

import java.util.Date;

public class Chat


{
public static void showMessage(User user, String message) {
System.out.println(new Date().toString() + "[" + user.getName() + "]: " +
message);
}
}

User:
package Mediator;

public class User {


private String name;

public User(String name) {


this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

public void sendMessage(String message) {


Chat.showMessage(this, message);
}
}

The End 😊

Vous aimerez peut-être aussi