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

做棋牌网站建设多少钱seo怎么优化排名

做棋牌网站建设多少钱,seo怎么优化排名,医疗卫生网站前置审批,上海定制建设网站创建型-工厂方法 简单工厂 将被创建的对象称为“产品”,将生产“产品”对象称为“工厂”;如果创建的产品不多,且不需要生产新的产品,那么只需要一个工厂就可以,这种模式叫做“简单工厂”,它不属于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.dinnco.com/news/34312.html

相关文章:

  • 您的域名因未取得工信部网站备案号松原市新闻
  • 政府网站建设开发方案百度教育app
  • html5网站模板怎么用新闻小学生摘抄
  • 有什么网站做知识吗在线代理浏览网站免费
  • 怎么用代码做网站河北seo推广
  • mvc实现新闻网站开发品牌推广策略有哪些
  • rails 开发的网站开发上海百度推广客服电话多少
  • 中学生设计制作图片西安seo服务
  • 做网站基本要求十大收益最好的自媒体平台
  • 网站右侧浮动广告数据分析师报考条件
  • 云南最近出了什么流行病天津网站建设优化
  • 山西建设网官方网站知乎小说推广对接平台
  • 要加强网站内容建设谷歌搜索引擎大全
  • 广州10大网站服务品牌100个商业经典案例
  • 网站建设如何跑单子营销型网站制作
  • 北塘网站制作seo网络优化招聘
  • 株洲网站建设服务公司网络推广有哪些方法
  • 淄博政府做网站哪家好恢复2345网址导航
  • 站长之家查询的网址怎么制作网页设计
  • 做招聘网站的背景图片百度关键字搜索排名
  • 如何利用问答类网站做推广潮州seo
  • 常州建站软件推广如何做网上引流
  • 做网站什么时候注册商标福州百度推广电话
  • 汉中建站公司百度竞价排名正确解释
  • 网站权重接口阿里巴巴国际站
  • 《网站建设与管理》方案设计培训班学费一般多少
  • 网站建设合同的性质不受限制的搜索引擎
  • 柯林建站程序站长统计是什么意思
  • 佛山哪有网站建设公司百度提交链接
  • 三方物流网站建设点击精灵seo