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

手机网站建设渠道国企招聘网最新招聘2023

手机网站建设渠道,国企招聘网最新招聘2023,新手怎么搭建网站,瑞安建设网站一.工厂模式 实现了创建者和调用者的分离。 二.分类 简单工厂模式 用来生产同一等级结构中的任意产品。(对于新增产品,需要修改已有代码。用的最多) 要点: 简单工厂模式也叫静态工厂模式,就是工厂类一般是使用静态方法,通过接收…

一.工厂模式

  • 实现了创建者和调用者的分离。

二.分类

  • 简单工厂模式

    • 用来生产同一等级结构中的任意产品。(对于新增产品,需要修改已有代码。用的最多)
    • 要点: 简单工厂模式也叫静态工厂模式,就是工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。
  • 工厂方法模式

  • 抽象工厂模式

    • 用来生产不同产品族的全部产品。(对于增加新的产品,无能为力;支持增加产品族)

三.要点:

  • 理论上工厂方法模式更优,但实际上,我们一般都使用简单工厂模式。 \color{red}{理论上工厂方法模式更优,但实际上,我们一般都使用简单工厂模式。} 理论上工厂方法模式更优,但实际上,我们一般都使用简单工厂模式。

四.核心本质

  • 实例化对象,用工厂方法代替new操作;
  • 将选择实现类、创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。

五.具体实现

  • 1.简单工厂模式

    • 代码实现

      • 类和接口

/*** 车运行的接口*/
public interface Car {void run();
}
/*** 奥迪车运行实现类 */
public class Audi implements Car {@Overridepublic void run() {System.out.println("奥迪在跑。。。");}
}
/*** 比亚迪车运行实现类 */
public class Byd implements Car {@Overridepublic void run() {System.out.println("比亚迪在跑。。。");}
}
      • 简单工厂类1(也称静态工厂)

/*** 简单工厂类1(也称静态工厂)* @author Administrator**/
public class CarFactory {public static Car createCar(String type){if("奥迪".equals(type)){return new Audi();}else if("比亚迪".equals(type)){return new Byd();}else{return null;}}
}
/***  简单工厂类调用* @author admin*/
public static void main(String[] args) {Car c1= CarFactory.createCar("奥迪");Car c2= CarFactory.createCar("比亚迪");c1.run();c2.run();
}
      • 简单工厂类2(也称静态工厂)

/*** 简单工厂类2(也称静态工厂)* @author Administrator**/
public class CarFactory {public static Car createAudi(){return new Audi();	}public static Car createByd(){return new Byd();	}
}
/***  简单工厂类实现* @author admin*/
public static void main(String[] args) {Car c1= CarFactory.createAudi();Car c2= CarFactory.createByd();c1.run();c2.run();
}






  • 2.工厂方法模式

    • 代码实现

      • 类和接口

/*** 车运行的接口*/
public interface Car {void run();
}
/*** 奥迪车运行实现类 */
public class Audi implements Car {@Overridepublic void run() {System.out.println("奥迪在跑。。。");}
}
/*** 比亚迪车运行实现类 */
public class Byd implements Car {@Overridepublic void run() {System.out.println("比亚迪在跑。。。");}
}
      • 工厂方法模式接口

/*** 工厂方法模式接口*/
public interface CarFactory {Car CreateCar();
}
/*** 工厂方法模式接口实现类*/
public class BydFactory implements CarFactory {@Overridepublic Car CreateCar() {return new Byd();}
}
/*** 工厂方法模式接口方法的重写*/
public class AudiFactory implements CarFactory {@Overridepublic Car CreateCar() {return new Audi();}
}
      • 工厂方法模式调用

/*** 方法工厂模式实现类*/
public static void main(String[] args) {//new AudiFactory().CreateCar().run();Car c=new AudiFactory().CreateCar();c.run();		
}






  • 3.抽象工厂模式

    • 代码实现

      • 类和接口

/*** 座椅接口*/
public interface Seat {void massage();
}
/*** 高端座椅*/
class LuxurySeat implements Seat{@Overridepublic void massage() {System.out.println("高端座椅可以按摩。。。。。");}
}
/*** 低端座椅*/
class LowySeat implements Seat{@Overridepublic void massage() {System.out.println("低端座椅不能按摩。。。。。");}
}
/*** 轮胎接口*/
public interface Tyre {void revolve();
}
/*** 高端轮胎*/
class LuxuryTyre implements Tyre{@Overridepublic void revolve() {System.out.println("不会磨损。。。。");}
}
/*** 低端轮胎*/
class LowTyre implements Tyre{@Overridepublic void revolve() {System.out.println("磨损快。。。。。");}
}
/*** 引擎接口*/
public interface Engine {void run();void start();
}
/*** 高端引擎*/
class LuxuryEngine implements Engine{@Overridepublic void run() {System.out.println("速度快。。。。。。");}@Overridepublic void start() {System.out.println("启动快,。。。。。。");}
}
/*** 低端引擎*/
class LowyEngine implements Engine{@Overridepublic void run() {System.out.println("速度慢。。。。。。");}@Overridepublic void start() {System.out.println("启动慢,。。。。。。");}
}
      • 抽象工厂接口和实现类

/*** 汽车工厂*/
public interface CarFactory {Engine createEngine();  //创建引擎Seat createSeat();		//座椅Tyre createTyre();		//轮胎
}
/*** 低端汽车*/
public class LowCarFactory implements CarFactory {@Overridepublic Engine createEngine() {return new LowyEngine();}@Overridepublic Seat createSeat() {return new LowySeat();}@Overridepublic Tyre createTyre() {return new LowTyre();}
}
/*** 高端汽车*/
public class LuxuryCarFactory implements CarFactory{@Overridepublic Engine createEngine() {return new LuxuryEngine();}@Overridepublic Seat createSeat() {return new  LuxurySeat();}@Overridepublic Tyre createTyre() {return new LuxuryTyre() ;}
}
      • 抽象工厂调用

/*** 抽象工厂模式测试类*/
public static void main(String[] args) {CarFactory c =new LowCarFactory();		Engine e=c.createEngine();e.run();e.start();CarFactory c1 =new LuxuryCarFactory();Engine e1=c.createEngine();e1.run();e1.start();
}



更多设计模式学习:

          设计模式(1):介绍
          设计模式(2):单例模式
          设计模式(4):建造者模式
          设计模式(5):原型模式
          设计模式(6):桥接模式
          设计模式(7):装饰器模式
          设计模式持续更新中…

http://www.dtcms.com/wzjs/833310.html

相关文章:

  • 织梦源码怎样做单页网站帝国cms地方门户网站模板
  • 网站数据库数据丢失google海外版入口
  • 富利建设集团有限公司网站“设计网站”
  • 一站式网站小红书推广方案
  • 网站收录下降论坛网站建设需要多少钱
  • 自助建网站系统看电影做网站有哪些主题
  • 有哪些网站免费学习建设网站的世界杯网页设计素材
  • 中国河北网站wordpress 纯静态首页
  • 家装用什么软件设计无锡企业网站seo
  • 企业网站建设策划书网站模板安装
  • 仿做购物网站平台网站建设推荐
  • 一家公司做两个网站成品ppt的网站免费观看
  • 网站开发文档总结做网站需要多少钱西安
  • 做p2p网站费用广州网络seo公司
  • 百度上能收到的企业名称网站怎么做商城网站建设流程
  • 上海医疗网站备案一个公司可以有两个网站吗
  • 商丘网站建设有哪些哈尔滨网站公司哪家好
  • 营销型网站建设的步骤流程是什么室内设计效果图怎么画
  • 厦门酒店网站建设易趣网网站建设与维护
  • django怎么做网站手机h5网站开发
  • 达内培训网站开发济南网站建设开发与制作
  • 有什么网站可以做设计兼职的服装市场营销策划方案
  • 源码下载网站源码南通建设网站
  • 网站logo是什么专门做字体设计的网站
  • 网站建设外包注意什么阿里云国外服务器
  • 第一代网站建设技术营销策划是做什么
  • 电子商务网站建设课后题长沙市宁乡县建设局网站
  • 网站开发技术 包括合肥论坛网
  • c语言网站金寨县建设规划局网站
  • 有专门做预算的网站没一站式装修的利弊