Factory method pattern: Difference between revisions

Content deleted Content added
Tag: Reverted
Tag: Reverted
Line 134:
 
====[[Java (programming language)|Java]]====
This [[
This [[Java (programming language)|Java]] example is similar to one in the book ''[[Design Patterns]].''
 
The MazeGame uses Rooms but it puts the responsibility of creating Rooms to its subclasses which create the concrete classes. The regular game mode could use this template method:
 
<syntaxhighlight lang="java">
public abstract class Room {
room1);
rooms.add(room2);
}
 
abstract protected Room makeRoom();
}
</syntaxhighlight>
 
In the above snippet, the
}
}
 
public class OrdinaryMazeGame extends MazeGame {
@Override
protected OrdinaryRoom makeRoom() {
return new OrdinaryRoom();
}
}
 
MazeGame ordinaryGame = new OrdinaryMazeGame();
MazeGame magicGame = new MagicMazeGame();
</syntaxhighlight>
 
====[[PHP]]====