Add all 23 GoF design pattern implementations

This commit is contained in:
2026-07-25 10:50:29 +05:30
commit f5688a6b32
164 changed files with 4371 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
package visitor;
/**
* Concrete Visitor 1 — calculates area for each shape type.
* Area formulas live here, not scattered across shape classes.
*/
public class AreaCalculator implements ShapeVisitor {
@Override
public void visit(Circle c) {
double area = Math.PI * c.getRadius() * c.getRadius();
System.out.printf(" Area of %s = %.2f%n", c.getName(), area);
}
@Override
public void visit(Rectangle r) {
double area = r.getWidth() * r.getHeight();
System.out.printf(" Area of %s = %.2f%n", r.getName(), area);
}
@Override
public void visit(Triangle t) {
double area = 0.5 * t.getBase() * t.getHeight();
System.out.printf(" Area of %s = %.2f%n", t.getName(), area);
}
}