mirror of https://github.com/01-edu/public.git
docs: adding subject and main
This commit is contained in:
parent
a611b6704d
commit
e514c70648
|
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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…
Reference in New Issue