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

wordpress黄页插件谷歌排名优化入门教程

wordpress黄页插件,谷歌排名优化入门教程,南昌网站开发培训班,比亚迪电子股票在面向对象设计模式中,分为三大模式,其中,创建型模式用于处理对象的创建过程,而工厂模式是其中的重要组成部分。工厂方法模式和抽象工厂模式作为工厂模式的两种主要形式,在软件开发中被广泛应用,用于解耦对…

        在面向对象设计模式中,分为三大模式,其中,创建型模式用于处理对象的创建过程,而工厂模式是其中的重要组成部分。工厂方法模式和抽象工厂模式作为工厂模式的两种主要形式,在软件开发中被广泛应用,用于解耦对象的创建与使用。

        工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。​简单来说,就是将对象的创建工作交给专门的工厂类或其子类来完成,客户端只需要关注所需产品的接口,而无需知道具体的实现类。​

        工厂方法模式的核心原理是通过引入抽象工厂和具体工厂,将产品的创建过程封装起来。其结构包含以下几个关键角色:​

(1)抽象产品:定义了产品的接口,是所有具体产品的父类。​

(2)具体产品:实现了抽象产品接口,是工厂方法模式所创建的目标对象。​

(3)抽象工厂:声明了工厂方法,该方法返回一个抽象产品类型的对象。​

(4)具体工厂:实现了抽象工厂的工厂方法,根据需求创建并返回具体产品的实例。​

        客户端通过调用具体工厂的工厂方法来获取产品对象,而无需直接实例化具体产品类,从而实现了对象创建与使用的分离。​

        工厂方法模式的主要作用体现在以下几个方面:​

(1)解耦对象创建与使用:客户端不需要知道具体产品的类名,只需知道对应的工厂即可,降低了客户端与具体产品类之间的耦合度。​

(2)提高扩展性:当需要添加新的产品时,只需新增一个具体产品类和对应的具体工厂类,无需修改现有代码,符合开闭原则。​

(3)便于测试:可以通过替换具体工厂来使用不同的产品实现,方便进行单元测试。​

        工厂方法模式的优点主要有:

(1)符合开闭原则:新增产品时无需修改原有代码,只需添加新的具体产品和具体工厂。​

(2)客户端无需知道具体产品的类名,只需关注工厂和产品接口,简化了客户端的使用。​

(3)有利于代码的封装和复用,将对象创建的逻辑集中在工厂类中。​

        同样的,其也有不少缺点,例如:

(1)每增加一个具体产品,就需要增加一个对应的具体工厂类,这会导致系统中类的数量增多,增加了系统的复杂度。​

(2)客户端需要知道具体工厂的存在才能获取所需产品,在一定程度上暴露了工厂的实现。​

        以汽车生产为例,这里使用工厂方法模式演示:​

//定义抽象产品
public interface Car {void drive();
}
//定义具体产品(BMWCar、BenzCar)
public class BMWCar implements Car {@Overridepublic void drive() {System.out.println("驾驶宝马汽车");}
}public class BenzCar implements Car {@Overridepublic void drive() {System.out.println("驾驶奔驰汽车");}
}
//定义抽象工厂
public interface CarFactory {Car createCar();
}
//定义具体工厂
public class BMWFactory implements CarFactory {@Overridepublic Car createCar() {return new BMWCar();}
}public class BenzFactory implements CarFactory {@Overridepublic Car createCar() {return new BenzCar();}
}
//客户端使用
public class Client {public static void main(String[] args) {CarFactory bmwFactory = new BMWFactory();Car bmw = bmwFactory.createCar();bmw.drive();CarFactory benzFactory = new BenzFactory();Car benz = benzFactory.createCar();benz.drive();}
}

        工厂方法模式与抽象工厂模式的差异​主要有:

(1)产品范围不同:工厂方法模式只针对单一产品等级结构,即一个工厂只生产一种类型的产品;而抽象工厂模式针对产品族,一个工厂可以生产多个相关的产品,这些产品属于不同的产品等级结构。​

(2)工厂接口定义不同:工厂方法模式的抽象工厂只声明一个创建产品的方法;抽象工厂模式的抽象工厂声明多个创建不同产品的方法,每个方法对应一种产品。​

(3)灵活性不同:工厂方法模式在扩展新的产品时,只需新增具体产品和具体工厂,灵活性较好;抽象工厂模式扩展新的产品族方便,但扩展新的产品等级结构困难。​

(4)适用场景不同:工厂方法模式适用于需要创建单一产品,且产品可能会有不同实现的场景;抽象工厂模式适用于需要创建一系列相关产品,且这些产品构成产品族,需要保证它们之间一致性的场景。

http://www.dtcms.com/a/452593.html

相关文章:

  • 怎么用indesign做网站设计宁波江北区城市建设档案馆网站
  • wordpress站点临时关闭杭州营销策划有限公司
  • 网站建设的素材三类人不适合学编程
  • 集团网站建设高校信息化建设网站系统微信
  • 大企业网站建设哪里好网站怎么做下载功能
  • 织梦可以做家教网站吗wordpress标签大全
  • 合肥建设官方网站开发工具怎么用
  • 做彩网站wordpress 输出内容
  • 邵阳市建设工程造价管理站网站安居客看房网
  • js 捕获网站异常插件上海网站搜索排名
  • python3.5 做网站360优化大师官方下载最新版
  • 网站建设与管理自考本全国卷wordpress 小程序
  • 金色网站模板wordpress禁止ip
  • 赣州网站建设怎样专业积分商城网站制作
  • 建设社区网站有什么借鉴之处招聘网站收费标准对比图怎么做
  • 江西 网站制作网站开发硬件要求
  • 怎么做查询网站吗wordpress推荐
  • 宠物网站开发seo网络优化教程
  • 网站建设单选按钮宁波专业定制网站建设
  • 微网站开发外包如何查网站域名备案信息
  • 网站的前端开发百度权重是什么意思
  • 尧都网站建设wordpress能输数学公式吗
  • 深圳网站设计建设公司建立美好国家的办法
  • 上饶婚纱工作室网站建设品牌策划公司招聘
  • 如何做一家类似携程的网站珠海网站建设建站模板
  • 淘宝客做连接网站专业企业建站价格
  • 南宁网站建设南宁代写文章兼职
  • 天津建设部网站哪里有手机网站制作公司
  • 班级网页制作模板seo关键词排名优化如何
  • 网站设计尺寸大小wordpress两种语言主题