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

web前端开发个人主页网页郑州seo团队

web前端开发个人主页网页,郑州seo团队,模块化局域网网站建设软件,做简历好的网站1 讲讲工厂方法模式, 1.1 给我一个java的demo 工厂方法模式是一种创建型设计模式,它提供了一个接口用于创建对象,但允许子类修改将要创建的对象类型。这种模式抽象了对象的创建过程,使得代码可以在不知道创建的对象具体类的情况…

1 讲讲工厂方法模式,

1.1 给我一个java的demo

工厂方法模式是一种创建型设计模式,它提供了一个接口用于创建对象,但允许子类修改将要创建的对象类型。这种模式抽象了对象的创建过程,使得代码可以在不知道创建的对象具体类的情况下工作。

基本结构:

  • Product(产品): 这是创建的对象的接口。
  • ConcreteProduct(具体产品): 这是实现Product接口的具体类。
  • Creator(创建者): 这是一个抽象类,它定义了一个抽象的工厂方法。这个方法返回一个Product类型的对象。
  • ConcreteCreator(具体创建者): 这是继承自Creator的类,它实现了工厂方法来生产具体的产品。

示例:

假设我们要设计一个UI库,其中有多种按钮类型。我们可以使用工厂方法模式来设计这个库。

// Product
interface Button {void render();
}// ConcreteProductA
class WindowsButton implements Button {@Overridepublic void render() {System.out.println("Rendering a Windows-style button.");}
}// ConcreteProductB
class MacButton implements Button {@Overridepublic void render() {System.out.println("Rendering a Mac-style button.");}
}// Creator
abstract class Dialog {// This is the factory methodprotected abstract Button createButton();public void render() {// use the factory method to create a product objectButton button = createButton();button.render();}
}// ConcreteCreatorA
class WindowsDialog extends Dialog {@Overrideprotected Button createButton() {return new WindowsButton();}
}// ConcreteCreatorB
class MacDialog extends Dialog {@Overrideprotected Button createButton() {return new MacButton();}
}public class FactoryMethodDemo {public static void main(String[] args) {Dialog windowsDialog = new WindowsDialog();windowsDialog.render();Dialog macDialog = new MacDialog();macDialog.render();}
}

在上面的示例中,Dialog是一个创建者,它有一个工厂方法createButton()。具体的对话框(如WindowsDialogMacDialog)实现了这个工厂方法来创建具体的按钮。

1.2 相比于简单工厂模式,这种工厂方法模式有什么好处呢

工厂方法模式和简单工厂模式都是用于创建对象的,但它们在结构和意图上有所不同。下面是工厂方法模式相比于简单工厂模式的一些优势:

  1. 更好的可扩展性:

    • 简单工厂:当需要添加新的产品时,你可能需要修改已有的工厂类,这违反了开闭原则(对扩展开放,对修改封闭)。
    • 工厂方法:只需添加新的具体创建者(ConcreteCreator)和具体产品(ConcreteProduct),无需修改已有的代码。这使得系统更加模块化和可扩展。
  2. 单一职责原则

    • 在工厂方法模式中,每个具体创建者(ConcreteCreator)都只负责生产一种具体产品(ConcreteProduct)。这符合单一职责原则。
    • 而在简单工厂模式中,一个工厂类可能需要处理多种产品的创建,这可能导致工厂类的代码过于复杂和臃肿。
  3. 更好地与子类合作

    • 工厂方法模式允许子类提供其自己版本的对象实例化逻辑,这增加了系统的灵活性。
    • 简单工厂模式中,创建对象的逻辑被固定在工厂类中,难以做出细粒度的定制。
  4. 更好的封装

    • 在工厂方法模式中,每种产品的创建逻辑都被封装在相应的具体创建者中。这使得创建逻辑和产品本身更紧密地结合。
    • 而在简单工厂模式中,所有的创建逻辑都集中在一个工厂类中,这可能导致工厂类过于庞大。
  5. 动态指定工厂

    • 在工厂方法模式中,你可以动态地更改或指定使用哪个工厂来创建对象,提供了更大的灵活性。
    • 在简单工厂模式中,通常基于一个参数或条件来决定创建哪种对象,这限制了其动态性。

尽管工厂方法模式提供了这些优点,但它也带来了更多的类和更复杂的结构。对于某些简单的情况,简单工厂模式可能更为合适。设计模式的选择应该基于项目的具体需求和上下文。

2

http://www.hengruixuexiao.com/news/17701.html

相关文章:

  • vue加wordpress百度快照优化排名推广怎么做
  • 空调公司网站建设想要推广网页正式版
  • 百度网站验证是百度免费注册
  • 上海微信小程序网站建设怎么联系百度人工服务
  • 美容美发化妆品培训企业网站源码带后台php织梦dede5.7百度登录个人中心官网
  • 手机微网站建设国家认可的教育培训机构
  • 设计网站建站百度人气榜
  • 网站建设主要产品seo优化网站技术排名百度推广
  • 免费php模板网站北京百度推广排名优化
  • 旅游网站的设计方案怎么做竞价托管
  • 电子外贸网站模板网站怎么优化排名
  • 机械类网站用什么做背景博客可以做seo吗
  • 做网站后台用什么语言好百搜网络科技有限公司
  • 公司网站建设申请报告网站如何优化排名软件
  • 重庆百度竞价托管甘肃seo网站
  • 福建有没有网站做鞋子一件代发网页设计制作网站模板图片
  • 成都网站优化教程sem营销推广
  • 网站没有百度快照常州谷歌推广
  • 个人网站名称有哪些seo推广的常见目的有
  • 合肥做微网站建设网址域名ip解析
  • 手机网站字体自适应深圳今日重大新闻
  • 网站运行及维护关键词优化设计
  • 新网企业邮箱登录入口seo关键词排名软件流量词
  • 那家专门做特卖的网站h5制作
  • 做盗版小说网站犯法吗网络营销的五个发展阶段
  • 江门外贸网站推广方案郑州模板建站代理
  • 网站开发及app开发都需要多少钱长沙网站seo哪家公司好
  • 品牌高端网站制作企业国外免费网站建设
  • 武汉外贸网站制作东莞网站seo优化托管
  • 太原北京网站建设外贸平台排名