工厂模式

来源:互联网 发布:最小截图软件下载 编辑:程序博客网 时间:2024/06/03 18:27

定义:定义一个用于创建对象的接口,让子类决定实例化哪个类

使用场景:在任何需要生成复杂对象的地方,使用new就可以完成创建的对象无需使用工厂模式

工厂模式的四个角色:抽象工厂、具体工厂、抽象产品类、具体产品类

在抽象工厂里定义生产方法,在具体工厂里定义具体要生产的产品

 

有时候可以利用反射机制和泛型简洁地来生产具体的产品对象,此时在抽象工厂里定义传入的参数为泛型的Class类,然后在具体工厂里使用反射机制加载产品的实例



 

多工厂模式:为每个产品创建独立的工厂,符合单一职责

反射工厂模式:使用反射来动态创建产品

 

工厂模式和Builder模式的区别就是,Builder模式是让用户参与产品的制作,让用户选择零件构造自己需要的产品,而工厂模式不需要用户参与产品的制作,用户只需要指定自己要什么产品,然后工厂就通过对应的工厂具体类去生产,或者利用反射动态生产用户需要的产品

原创粉丝点击