简单工厂模式
来源:互联网 发布:mac 终端查看当前目录 编辑:程序博客网 时间:2024/06/08 09:13
简单工厂模式:根据传入的参数不同获得不同的对象;
优点:降低了代码的耦合性,只需要输入不同的参数就可以获取想要的对象,不需要关心对象的组装细节
缺点:大量的逻辑业务在工厂类中,当增加了新的类型就必须要修改工厂类的代码才能进行扩展
例:
方形、三角形都是形状,抽象出一个Shape作为形状抽象类,其中含有各种方法例如获取面积getArea();
public abstract class Shape{
double getArea();
}
三角形:
public class Triangle extends Shape{
double getAread(){
system.out.println("获取三角形的面积");
}
}
方形:
public class Square extends Shape{
double getArea(){
system.out.println("获取方形的面积");
}
}
简单工厂类:
public class SimpleFactor {
public Shape getShape(String type){
if(!StringUtils.isNull(type)&&"triangle".equals(type)){
return new Triangle();
}else if(!StringUtils.isNull(type)&&"square".equals(type)){
return new Square();
}
}
}
如果增加一个圆形类:
public class Circle extends Shape{
double getArea(){"获取圆形的面积"}
}
工厂类需要进行修改:增加对圆形的处理
public class SimpleFactor {
public Shape getShape(String type){
if(!StringUtils.isNull(type)&&"triangle".equals(type)){
return new Triangle();
}else if(!StringUtils.isNull(type)&&"square".equals(type)){
return new Square();
}else if(!StringUtils.isNull(type)&&"circle".equals(type)){
return new Circle();
}
- 工厂模式-简单工厂
- 工厂模式-简单工厂
- 工厂模式-简单工厂模式
- 工厂模式-简单工厂模式
- 简单工厂模式,工厂模式
- 工厂模式-简单工厂模式
- 简单工厂模式,工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂&工厂模式&抽象工厂模式
- 简单工厂和工厂模式
- 简单工厂和工厂模式
- 1,工厂模式--简单工厂
- 简单工厂和工厂模式
- 简单工厂,工厂模式,抽象工厂
- 简单工厂,工厂模式,抽象工厂
- 简单工厂、工厂方法、抽象工厂模式
- 简单工厂、工厂模式和抽象工厂
- Ubuntu16.04安装caffe(仅cpu)
- FileWriter和FileReader解析
- 520你表白了没?看看程序员们的花式表白吧!
- elasticsearch中批量的upsert
- Android 动画总结
- 简单工厂模式
- 剑指Offer-5
- Threa.sleep()之学习线程一
- WCF数据协定
- 三阶魔方层先还原方法图解2
- 根据数据库中提供的坐标(经纬度) 在前端地图上标示坐标点、并显示
- HTML动态生成的方法
- logistic Regression & Regularization
- MyBatis之传入多个参数