Add all 23 GoF design pattern implementations (2026-06-13)
This commit is contained in:
24
03-behavioral/strategy/Sorter.java
Normal file
24
03-behavioral/strategy/Sorter.java
Normal file
@@ -0,0 +1,24 @@
|
||||
package strategy;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* Context — uses a SortStrategy. The strategy can be swapped at runtime.
|
||||
* Sorter doesn't care which algorithm is used; it just calls sort().
|
||||
*/
|
||||
public class Sorter {
|
||||
private SortStrategy strategy;
|
||||
|
||||
public Sorter(SortStrategy strategy) { this.strategy = strategy; }
|
||||
|
||||
public void setStrategy(SortStrategy strategy) {
|
||||
System.out.println(" Switching to: " + strategy.getName());
|
||||
this.strategy = strategy;
|
||||
}
|
||||
|
||||
public int[] sort(int[] data) {
|
||||
int[] copy = Arrays.copyOf(data, data.length);
|
||||
strategy.sort(copy);
|
||||
return copy;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user