当前位置: 首页 > news >正文

做棋牌网站建设多少钱seo英文怎么读

做棋牌网站建设多少钱,seo英文怎么读,用asp.net做的网站贴吧,网站建站哪家公司好一点创建型-工厂方法 简单工厂 将被创建的对象称为“产品”,将生产“产品”对象称为“工厂”;如果创建的产品不多,且不需要生产新的产品,那么只需要一个工厂就可以,这种模式叫做“简单工厂”,它不属于23中设计…

创建型-工厂方法

简单工厂

  1. 将被创建的对象称为“产品”,将生产“产品”对象称为“工厂”;
  2. 如果创建的产品不多,且不需要生产新的产品,那么只需要一个工厂就可以,这种模式叫做“简单工厂”,它不属于23中设计模式之一;
  3. 简单工厂这种模式不符合对拓展开放,对修改关闭开闭原则,因为这种设计模式,新增产品的时候需要修改工厂类代码;

简单工厂:

/** 简单工厂,工厂类*/
public class SimpleFactory {private static SimpleFactory INSTANCE = new SimpleFactory();public static SimpleFactory getInstance(){return INSTANCE;}public Car createCar() {return new Car();}public Plane createPlane() {return new Plane();}public Train creatTrain(){return new Train();}
}

简单工厂使用:

public class main {public static void main(String[] args) {SimpleFactory simpleFactory = SimpleFactory.getInstance();Car car = simpleFactory.createCar();Plane plane = simpleFactory.createPlane();Train train = simpleFactory.creatTrain();}
}

这种模式如果产生一个other交通工具,还需要在工厂类中新增creatOther()方法。

工厂方法

角色

  1. 抽象工厂:提供创建产品的接口,调用者通过它访问具体的工厂的工厂方法;
  2. 具体工厂:实现抽象工厂中的抽象方法,完成具体的创建;
  3. 抽象产品:定义产品的规范,描述产品的主要特性;
  4. 具体产品:实现抽象产品角色定义的接口,它与具体工厂一一对应

图解

在这里插入图片描述

实现案例

产品抽象类:

public interface Vehicle {void go();
}

产品具体实现类:

public class Car implements Vehicle{@Overridepublic void go() {System.out.println("汽车在跑!");}
}public class Plane implements Vehicle{@Overridepublic void go() {System.out.println("火车在跑!");}
}public class Train implements Vehicle{@Overridepublic void go() {System.out.println("飞机在飞!");}
}

抽象工厂类:

public interface VehicleFactory {Vehicle create();
}

具体工厂类:

public class CarFactory implements VehicleFactory{private static CarFactory INSTANCE = new CarFactory();@Overridepublic Vehicle create() {return new Car();}public static CarFactory getInstance(){return INSTANCE;}
}public class PlaneFactory implements VehicleFactory{private static PlaneFactory INSTANCE = new PlaneFactory();@Overridepublic Vehicle create() {return new Plane();}public static PlaneFactory getInstance(){return INSTANCE;}
}
public class TrainFactory implements VehicleFactory{private static TrainFactory INSTANCE = new TrainFactory();@Overridepublic Vehicle create() {return new Train();}public static TrainFactory getInstance(){return INSTANCE;}
}

使用:

public class main {public static void main(String[] args) {CarFactory carFactory = CarFactory.getInstance();Vehicle vehicle = carFactory.create();vehicle.go();}
}

总结

  1. 简单工厂不符合开闭原则。
  2. 工厂方法,每次增加一个产品时,都需要增加一个具体类和对应的工厂,使系统中类的数量成倍增加,增加了系统的复杂度和具体类的依赖;
http://www.khdw.cn/news/31576.html

相关文章:

  • 荔湾做网站的公提高网站权重的方法
  • 企业推广网站建设报价做一个微信小程序需要多少钱
  • win7怎么做网站服务器微信指数官网
  • 工艺品网站设计自己代理一款手游需要多少钱
  • 哪个网站可以做室内设计2022网站快速收录技术
  • 淄博网站建设哪家好简述企业网站推广的一般策略
  • 陕西省住建厅网站官网北京seo实战培训班
  • 经营网站的备案平台运营
  • 商业门户网站制作优化大师最新版本
  • 网站建设与管理专业就业方向app引导页模板html
  • 香港网站没有icp备案网站免费软件
  • 开票开网站建设费网站关键词优化排名技巧
  • 品牌型网站制长沙百度推广运营公司
  • 商派商城网站建设公司杭州网站优化多少钱
  • 做网站和apptrinseo公司
  • 企业所得税优惠政策最新2022计算宁波超值关键词优化
  • 长春免费做网站百度爱采购优化软件
  • 访问网站需要账号密码天津短视频seo
  • 网站美工怎么做51趣优化网络seo工程师教程
  • 徐州商城建站系统什么是网络销售
  • 湖南网站建设软文写作公司
  • 通州微平台网站建设线上宣传方案
  • 乡村振兴网站建设seo快速优化文章排名
  • 中文域名转码网站武汉百度推广seo
  • 教育培训机构怎么建设网站百度指数免费查询入口
  • 国内真正的永久建站北京企业网站seo平台
  • 青岛seo经理农大南路网络营销推广优化
  • 松江洞泾网站建设关键词seo深圳
  • 网站模板与网站开发网站关键词快速优化
  • 58同城做网站热门搜索