设计模式学习笔记(Java篇)之简单工厂模式

1. 简单工厂模式

  简单工厂模式是类的创建模式,又称静态工厂方法模式,就是由一个工厂对象产生不同产品类的实例

2. 适用范围(个人理解)

  简单来说就是程序需要在不同的条件下产生或者调用不同实例类对象的情况下调用,例如在IM(即时通讯系统),建立一个消息工厂来在用户发送不同消息时产生不同消息的对象。

例如:

设计模式学习笔记(Java篇)之简单工厂模式_第1张图片

创建一个消息接口,一个文本消息类,一个图片消息类,一个消息工厂,如下代码:

public interface Message {
    
	public Message build();
}
public class TextMsg implements Message{

	@Override
	public Message build() {
		System.out.println("This is TextMsg");
		return this;
	}

}
public class ImgMsg implements Message {

	@Override
	public Message build() {
         System.out.println("This is Img Msg");
		return this;
	}

}
public class MsgManager {
    
	public static Message productMsg(String type){
		if(type.equals("ImgMsg")){
			return new ImgMsg();
		}else if(type.equals("TextMsg")){
			return new TextMsg();
		}else{
			throw new RuntimeException("This kind of Msg doesn't exist");
		}
	}
}

3. 简单工厂模式的优缺点(个人理解)

优点:工厂类是核心类,可以根据判断,产生不同的产品类实例,调用者根据就可以得到需要的类对象,不需要直接创建对象。简单工厂模式通过这种做法实现类责任分割,降低了系统类之间的耦合性,即要生产新的消息类时,无需更改调用者的代码

缺点:当存在多个消息类甚至大量消息类时,并且在工厂类产生产品时,存在复杂的逻辑结构时,一旦工厂类崩溃,会影响调用者甚至整个系统的功能都会受到影响。


你可能感兴趣的:(Java)