Browse Source

docs: adding subject and main

pull/2651/head
amin 3 months ago committed by zanninso
parent
commit
e514c70648
  1. 13
      subjects/java/checkpoints/factory-blueprint/ExerciseRunner.java
  2. 60
      subjects/java/checkpoints/factory-blueprint/README.md

13
subjects/java/checkpoints/factory-blueprint/ExerciseRunner.java

@ -0,0 +1,13 @@
public class ExerciseRunner {
public static void main(String[] args) {
Factory factory = new Factory();
// Handle invalid product type
Object invalidProduct = factory.createProduct("C");
if (invalidProduct != null) {
invalidProduct.showDetails();
} else {
System.out.println("Invalid product type");
}
}
}

60
subjects/java/checkpoints/factory-blueprint/README.md

@ -0,0 +1,60 @@
## Factory Blueprint
### Instructions
You are given an incomplete Factory design pattern implementation with some incorrect parts. Complete and fix the class to demonstrate your understanding of how the Factory design pattern works.
### Expected Classes
```java
// Product interface
public interface Product {
void showDetails();
}
// ConcreteProductA class
public class ConcreteProductA {
...
}
// ConcreteProductB class
public class ConcreteProductB {
...
}
// Factory class
public class Factory {
public ConcreteProductB createProduct(String type) { // the type parametre accept two values `A` and `B`
}
}
```
### Usage
Here is a possible `ExerciseRunner.java` to test your classes:
```java
public class ExerciseRunner {
public static void main(String[] args) {
Factory factory = new Factory();
// Handle invalid product type
Object invalidProduct = factory.createProduct("C");
if (invalidProduct != null) {
invalidProduct.showDetails();
} else {
System.out.println("Invalid product type");
}
}
}
```
### Expected Output
```shell
$ javac *.java -d build
$ java -cp build ExerciseRunner
Invalid product type
$
```
Loading…
Cancel
Save