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

水果网站系统的建设与实现河南安阳网站建设

水果网站系统的建设与实现,河南安阳网站建设,wordpress支付文件在哪,盘锦注册公司Java工厂模式详解#xff1a;方法工厂模式与抽象工厂模式 一、引言 在Java开发中#xff0c;设计模式是解决常见软件设计问题的一种有效方式。工厂模式作为创建型设计模式的一种#xff0c;提供了灵活的对象创建机制#xff0c;有助于降低代码的耦合度#xff0c;提高系…Java工厂模式详解方法工厂模式与抽象工厂模式 一、引言 在Java开发中设计模式是解决常见软件设计问题的一种有效方式。工厂模式作为创建型设计模式的一种提供了灵活的对象创建机制有助于降低代码的耦合度提高系统的可维护性和可扩展性。本文将详细介绍Java中的方法工厂模式Factory Method Pattern和抽象工厂模式Abstract Factory Pattern。 二、方法工厂模式 2.1 定义 方法工厂模式Factory Method Pattern是一种创建型设计模式它定义了一个用于创建对象的接口但让子类决定要实例化的类是哪一个。工厂方法让类的实例化推迟到子类中进行。 2.2 结构 方法工厂模式主要包含以下几个角色 抽象工厂角色Creator声明了工厂方法用于返回一个产品对象。具体工厂角色Concrete Creator实现了抽象工厂角色中的工厂方法用于返回一个具体的产品对象。抽象产品角色Product定义了产品的接口是工厂方法所创建对象的超类型也就是产品对象的共同接口。具体产品角色Concrete Product实现了抽象产品角色所定义的接口由具体工厂角色创建客户端通过抽象产品角色使用具体产品。 2.3 优点 可扩展性当需要增加新的产品时只需要增加相应的具体产品类和具体工厂类无需修改现有代码。解耦将产品的创建与使用分离客户端只需要知道产品接口而无需知道具体产品的类名。 2.4 缺点 增加类的数量每增加一个产品都需要增加一个具体产品类和一个具体工厂类增加了系统的复杂性。 2.5 代码示例 // 抽象产品角色 public interface Product {void doSomething(); }// 具体产品A public class ProductA implements Product {Overridepublic void doSomething() {System.out.println(A do Something);} }// 具体产品B public class ProductB implements Product {Overridepublic void doSomething() {System.out.println(B do Something);} }// 抽象工厂角色 public abstract class Factory {abstract Product create(); }// 具体工厂A public class FactoryA extends Factory {OverrideProduct create() {return new ProductA();} }// 具体工厂B public class FactoryB extends Factory {OverrideProduct create() {return new ProductB();} }// 客户端代码 public class Client {public static void main(String[] args) {Factory factory new FactoryA();Product product factory.create();product.doSomething();factory new FactoryB();product factory.create();product.doSomething();} }三、抽象工厂模式 3.1 定义 抽象工厂模式Abstract Factory Pattern提供了一种创建一系列相关或相互依赖对象的接口而无需指定它们具体的类。 3.2 结构 抽象工厂模式主要包含以下几个角色 抽象工厂角色Abstract Factory声明了一组用于创建产品的抽象方法。具体工厂角色Concrete Factory实现了抽象工厂角色中的抽象方法用于创建具体的产品对象。抽象产品角色Abstract Product定义了产品的接口是工厂方法所创建对象的超类型。具体产品角色Concrete Product实现了抽象产品角色所定义的接口由具体工厂角色创建。 3.3 优点 封装性客户端只需要知道产品的抽象类型无需关心具体产品的实现细节。可扩展性当需要增加新的产品族时只需要增加相应的具体产品类和具体工厂类无需修改现有代码。灵活性可以在不修改客户端代码的情况下更换产品族。 3.4 缺点 增加系统的复杂性由于涉及到多个抽象层增加了系统的理解和维护难度。 3.5 代码示例 // 抽象产品A public interface Engine {void run();void start(); }// 具体产品A1 public class LuxuryEngine implements Engine {Overridepublic void run() {System.out.println(转的快);}Overridepublic void start() {System.out.println(启动快!可以自动启停!);} }// 抽象产品B public interface Seat {void massage(); }// 具体产品B1 public class LuxurySeat implements Seat {Overridepublic void massage() {System.out.println(可以自动按摩);} }// 抽象工厂角色 public interface CarFactory {Engine createEngine();Seat createSeat(); }// 具体工厂A public class LuxuryCarFactory implements CarFactory {Overridepublic Engine createEngine() {return new LuxuryEngine();}Overridepublic Seat createSeat() {return new LuxurySeat();} }// 客户端代码 public class Client {public static void main(String[] args) {CarFactory factory new LuxuryCarFactory();Engine engine factory.createEngine();engine.run();engine.start();Seat seat factory.createSeat();seat.massage();} }四、总结 方法工厂模式和抽象工厂模式都是用于创建对象的设计模式但它们的应用场景和侧重点不同。方法工厂模式侧重于单个对象的创建通过子类决定实例化哪个类而抽象工厂模式则侧重于创建一系列相关或相互依赖的对象通过接口来定义一组产品的创建方法。在实际开发中应根据具体需求选择合适的设计模式。
http://www.w-s-a.com/news/614169/

相关文章:

  • 网站做直链下载存储解决方案怎么把网站设置为主页面
  • 西安做网站招聘深圳网站见
  • 网站怎么做优化百度能搜索到wordpress 子分类
  • 六安网站建设培训制作网站需要多少时间
  • 电子商务专业网站建设什么软件可以做动画视频网站
  • wordpress 分享主题做网站优化有必要
  • ftp 网站管理电商网站设计图片
  • 惠州免费建站模板营销型旅游网站建设
  • 南宁cms建站wordpress 开启缩略图
  • 网站模板软件网站admin密码
  • 网站信息做参考文献射阳做企业网站多少钱
  • 网站外部优化的4大重点外贸站外推广
  • 宁波网站建设活动德州乐陵德州seo公司
  • 网站网址相对路径如何设置wordpress怎么加快网站打开速度
  • 有没有能帮人快速网站备案的机构网站建设与制作总结
  • 网站不用了怎么办苏州h5模板建站
  • 网站建设制作定制免费网络短剧
  • 建设部建造师强制注销网站h5响应式网站模板下载
  • 蛋糕网站内容规划建设网站需要多少钱济南兴田德润o厉害吗
  • 企业如何建设网站呢做网站的高手
  • 为什么打开网址都是站长工具开发一款网站需要多少钱
  • 做一个网站app需要多少钱分类信息网站建设计划
  • 怎样下载建设部网站建模培训
  • 北流网站建设制作旅游网站开发目的和目标
  • 网站公司怎么做的网站建设论文二稿
  • 网站建设服务商都有哪些html项目答辩
  • 网站上传到万网主机wordpress视频防盗链
  • 西安建设商城类网站广告设计公司文案
  • 如何建设好高校网站麻辣烫配方教授网站怎么做
  • 宁波网站建设计品牌推广策略分析