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

学校微网站模板下载地址WordPress国内开发主题

学校微网站模板下载地址,WordPress国内开发主题,网站开发前景与趋势如何,xampp安装wordpress工厂模式和抽象工厂模式是创建型设计模式中的两种#xff0c;主要用于对象的创建#xff0c;并且通过将对象的创建过程封装起来#xff0c;来实现代码的解耦和灵活性。下面通过具体实例来说明这两种模式的用法及其在解耦中的作用。 工厂模式#xff08;Factory Method Pat…工厂模式和抽象工厂模式是创建型设计模式中的两种主要用于对象的创建并且通过将对象的创建过程封装起来来实现代码的解耦和灵活性。下面通过具体实例来说明这两种模式的用法及其在解耦中的作用。 工厂模式Factory Method Pattern 工厂模式通过定义一个创建对象的接口让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 实例说明 假设我们有一个交通工具接口 Vehicle 以及具体实现类 Car 和 Bike。我们通过工厂模式来创建这些交通工具对象。 接口和实现类 // Vehicle.java public interface Vehicle {void drive(); }// Car.java public class Car implements Vehicle {Overridepublic void drive() {System.out.println(Driving a car.);} }// Bike.java public class Bike implements Vehicle {Overridepublic void drive() {System.out.println(Riding a bike.);}工厂类 // VehicleFactory.java public abstract class VehicleFactory {public abstract Vehicle createVehicle(); }// CarFactory.java public class CarFactory extends VehicleFactory {Overridepublic Vehicle createVehicle() {return new Car();} }// BikeFactory.java public class BikeFactory extends VehicleFactory {Overridepublic Vehicle createVehicle() {return new Bike();}使用工厂模式 public class Main {public static void main(String[] args) {VehicleFactory carFactory new CarFactory();Vehicle car carFactory.createVehicle();car.drive(); // 输出: Driving a car.VehicleFactory bikeFactory new BikeFactory();Vehicle bike bikeFactory.createVehicle();bike.drive(); // 输出: Riding a bike.} }解耦作用 通过工厂模式Main 类不需要知道具体的交通工具类只需要知道工厂类和接口 Vehicle。这使得代码更加灵活增加了新类型的交通工具时不需要修改现有代码。 抽象工厂模式Abstract Factory Pattern 抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口而无需指定它们具体的类。 实例说明 假设我们有一个家具工厂可以创建椅子和沙发。我们通过抽象工厂模式来实现。 接口和实现类 // Chair.java public interface Chair {void sitOn(); }// Sofa.java public interface Sofa {void lieOn(); }// VictorianChair.java public class VictorianChair implements Chair {Overridepublic void sitOn() {System.out.println(Sitting on a Victorian chair.);} }// ModernChair.java public class ModernChair implements Chair {Overridepublic void sitOn() {System.out.println(Sitting on a modern chair.);} }// VictorianSofa.java public class VictorianSofa implements Sofa {Overridepublic void lieOn() {System.out.println(Lying on a Victorian sofa.);} }// ModernSofa.java public class ModernSofa implements Sofa {Overridepublic void lieOn() {System.out.println(Lying on a modern sofa.);}抽象工厂类和具体工厂类 // FurnitureFactory.java public interface FurnitureFactory {Chair createChair();Sofa createSofa(); }// VictorianFurnitureFactory.java public class VictorianFurnitureFactory implements FurnitureFactory {Overridepublic Chair createChair() {return new VictorianChair();}Overridepublic Sofa createSofa() {return new VictorianSofa();} }// ModernFurnitureFactory.java public class ModernFurnitureFactory implements FurnitureFactory {Overridepublic Chair createChair() {return new ModernChair();}Overridepublic Sofa createSofa() {return new ModernSofa();} }使用抽象工厂模式 public class Main {public static void main(String[] args) {FurnitureFactory victorianFactory new VictorianFurnitureFactory();Chair victorianChair victorianFactory.createChair();Sofa victorianSofa victorianFactory.createSofa();victorianChair.sitOn(); // 输出: Sitting on a Victorian chair.victorianSofa.lieOn(); // 输出: Lying on a Victorian sofa.FurnitureFactory modernFactory new ModernFurnitureFactory();Chair modernChair modernFactory.createChair();Sofa modernSofa modernFactory.createSofa();modernChair.sitOn(); // 输出: Sitting on a modern chair.modernSofa.lieOn(); // 输出: Lying on a modern sofa.} }解耦作用 抽象工厂模式通过将具体工厂类与产品对象的创建过程分离使得客户端代码仅依赖于工厂接口和产品接口。这样增加新的家具风格时只需添加新的具体工厂类和产品类不需要修改现有代码。这种方式大大提高了系统的扩展性和可维护性。 总结 工厂模式通过定义一个创建对象的接口使得具体类的实例化过程延迟到子类从而实现了创建对象的灵活性和代码的解耦。抽象工厂模式则进一步扩展通过提供一个创建一系列相关或相互依赖对象的接口使得产品族的创建过程独立于客户端代码极大地提高了系统的可扩展性和可维护性。 两种模式都通过将对象的创建过程封装起来实现了代码的解耦使得系统更加灵活、易于扩展和维护。
http://www.w-s-a.com/news/48074/

相关文章:

  • 做网站的的价位网站建设 考试题目
  • 深圳比邻网站建设北京优化服务
  • 菏泽网站建设哪家好电子商务网络安全
  • 仿一个网站广州网站建设正规公司
  • 网站建设 目的seo网站关键词排名快速
  • 什么叫做响应式网站自媒体全平台发布
  • 企业网站 案例哪里需要人做钓鱼网站
  • 厚街东莞网站建设网站开发者调试模式
  • 网站推广营销联系方式wordpress adminlte
  • 哪些网站可以做文字链广告卖水果网站建设的策划书
  • 雕刻业务网站怎么做企业qq官网
  • 新华书店的做的数字阅读网站wordpress编辑器格式
  • jq做6个网站做什么好广西临桂建设局网站
  • 网站新闻图片尺寸南京网站设计公司
  • 重庆seo建站网站服务器 安全
  • 咸宁做网站的公司桂林网站建设兼职
  • 教做网站网站开发行业分析
  • 忻州网站建设培训友情链接交换形式有哪些
  • 佛山做外贸网站渠道外贸常用网站
  • 文章收录网站网站及新媒体建设办法
  • 招聘网站排行榜2021找建网站公司
  • 网站建设制作宝塔面板活动宣传推广的形式有哪些
  • 掉关键词网站敏捷软件开发流程
  • 微信小程序格泰网站建设新闻采编与制作专业简历
  • 电子商城建设网站海伦网站建设
  • 南充能够建设网站的公司有专门做设计的一个网站
  • 免费域名申请个人网站阿里巴巴运营的工作内容
  • 怎么建自己的手机网站保定电子商务网站建设
  • 系部网站建设中期检查表创建网站的公司
  • 西宁网站建设优化重庆企业的网站建设