Java Design Patterns
Java Design Patterns
1. Singleton Pattern
private Singleton() {}
2. Factory Pattern
interface Animal {
void sound();
}
class AnimalFactory {
public static Animal getAnimal(String type) {
if ("dog".equalsIgnoreCase(type)) return new Dog();
else if ("cat".equalsIgnoreCase(type)) return new Cat();
return null;
}
}
7 Major Design Patterns in Java
3. Builder Pattern
class Pizza {
private String base;
private String cheese;
private String toppings;
4. Observer Pattern
import java.util.*;
interface Observer {
7 Major Design Patterns in Java
class Channel {
private List<Observer> subscribers = new ArrayList<>();
5. Strategy Pattern
interface PaymentStrategy {
void pay(int amount);
}
class PaymentContext {
private PaymentStrategy strategy;
7 Major Design Patterns in Java
6. Decorator Pattern
interface Coffee {
String getDescription();
int getCost();
}
7. Adapter Pattern
interface MediaPlayer {
void play(String fileName);
}
}
}
class VLCPlayer {
public void playVLC(String fileName) {
System.out.println("Playing VLC: " + fileName);
}
}
public MediaAdapter() {
vlcPlayer = new VLCPlayer();
}