Definition introduction
- Classification: from the type division of design patterns, simple factory pattern belongs to creation design pattern, also known as static factory method pattern, which belongs to a special case of factory pattern family, but does not belong to 23 design patterns.
- Definition: the simple factory pattern is an instance of a factory object creating a concrete abstract product.
- Class diagram:
code analysis
1. Abstract products
public interface IComputer {
void create();
}
2. Specific products
- Product category 1
public class AsusCom implements IComputer{
@Override
public void create() {
System.out.println("asus is coming...");
}
}
- Product category 2
public class DellCom implements IComputer {
@Override
public void create() {
System.out.println("dell is coming...");
}
}
- Product category 3
public class MackProCom implements IComputer {
@Override
public void create() {
System.out.println("mack pro is coming");
}
}
3. Factory
- Create specific product class instance specified by factory class
public class Factory {
public static IComputer createProduct(String str) {
if (str == null || "".equals(str)){
return null;
}else if (str.equals("asus")){
return new AsusCom();
}else if (str.equals("dell")){
return new DellCom();
}else if (str.equals("pro")){
return new MackProCom();
}
return null;
}
}
4. Client call
- The passed in string parameter specifies to create a classification for a specific product
public class Client {
public static void main(String[] args) {
IComputer computer = Factory.createProduct("asus");
computer.create();
IComputer computer1 = Factory.createProduct("pro");
computer1.create();
}
}
summary
Simple factory method design pattern composition
1. IComputer(interface/abstract)
2. Dell || Asus || MackPro(subClass)
3. Factory (the factory class creates a specific instance based on the parameters passed in)