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

策划网站有哪些云搜索系统

策划网站有哪些,云搜索系统,网站一般用什么软件做的,网站流量达到多少简单工厂模式,又称为静态工厂方法(Static Factory Method)模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式不属于GoF的23个…

简单工厂模式,又称为静态工厂方法(Static Factory Method)模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式不属于GoF的23个设计模式,可看成是工厂方法模式的退化实现。

结构设计

简单工厂模式包含如下角色:
Factory,工厂类,负责实现创建所有实例的内部逻辑。
Product,抽象产品,用来定义工厂所创建的对象的接口。
ConcreteProduct,具体产品,用来实现Product的接口。
简单工厂模式类图表示如下:
请添加图片描述

伪代码实现

// 1.1 定义产品(Product)抽象类(也可以是基类),对产品接口进行声明
public abstract class Product {abstract void function();
}
// 1.2 定义具体产品(Concrete Products),产品接口的不同实现
public class ConcreteProductA extends Product {@Overridepublic void function() {System.out.println("---------do some thing in a ConcreteProductA instance---------");}
}
public class ConcreteProductB extends Product {@Overridepublic void function() {System.out.println("---------do some thing in a ConcreteProductB instance---------");}
}
// 2、产品工厂(Product Factory),定义返回产品对象的静态工厂方法。该方法的返回对象类型是产品的基类(Product)。
// 该类最主要的职责就是根据入参的不同创建不同的产品。
public class ProductFactory {/*** 根据条件生产产品* 注意:这里以产品名作为入参,具体场景还应灵活处理*/public static Product create(String productName) {if (productName.contains("ConcreteProductA")) {return new ConcreteProductA();}if (productName.contains("ConcreteProductB")) {return new ConcreteProductB();}return null;}
}// 3、客户端调用
public class FactoryMethodClient {public void test() {// (1) 通过工厂创建产品Product productA = ProductFactory.create(ConcreteProductA.class.getName());// (2) 使用产品productA.function();Product productB = ProductFactory.create(ConcreteProductB.class.getName());productB.function();}
}

适用场景

在以下情况下可以使用简单工厂模式:
(1) 工厂类负责创建的对象比较少:由于创建的对象较少,不会造成工厂方法中的业务逻辑太过复杂。
(2) 客户端只知道传入工厂类的参数,对于如何创建对象不关心:客户端既不需要关心创建细节,甚至连类名都不需要记住,只需要知道类型所对应的参数。

优缺点

简单工厂模式有以下优点:
(1) 责任分离。工厂类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例,客户端可以免除直接创建产品对象的责任,仅需要使用产品;简单工厂模式通过这种做法实现了对责任的分割,它提供了专门的工厂类用于创建对象。
(2) 使用简单。客户端在使用产品时,只需要知道具体产品类所对应的参数即可,对于一些复杂的类名,通过简单工厂模式可以减少使用者的记忆量。
(3) 提高系统灵活性。通过引入配置文件,可以在不修改任何客户端代码的情况下更换和增加新的具体产品类,在一定程度上提高了系统的灵活性。
但是简单工厂模式也存在以下缺点:
(1)违反开闭原则。工厂类的职责相对过重,增加新的产品需要修改工厂类的判断逻辑,这一点与开闭原则是相违背的。
(2) 可扩展性差。一旦添加新产品就不得不修改工厂逻辑,在产品类型较多时,有可能造成工厂逻辑过于复杂,不利于系统的扩展。另外,简单工厂模式由于使用了静态工厂方法,造成工厂角色无法形成基于继承的等级结构。

参考

https://www.runoob.com/design-pattern/factory-pattern.html 简单工厂模式
https://design-patterns.readthedocs.io/zh_CN/latest/creational_patterns/simple_factory.html 简单工厂模式
https://blog.csdn.net/ShuSheng0007/article/details/86634864 秒懂设计模式之简单工厂模式


文章转载自:
http://dinncoheeler.bpmz.cn
http://dinncomisspell.bpmz.cn
http://dinncopalpable.bpmz.cn
http://dinncoleching.bpmz.cn
http://dinncohashemite.bpmz.cn
http://dinncoessentialism.bpmz.cn
http://dinncocharcoal.bpmz.cn
http://dinncosurely.bpmz.cn
http://dinncoyech.bpmz.cn
http://dinncoantiperiodic.bpmz.cn
http://dinncocyclopentane.bpmz.cn
http://dinncoscrounge.bpmz.cn
http://dinncooogamous.bpmz.cn
http://dinncobangtail.bpmz.cn
http://dinncoabstentious.bpmz.cn
http://dinncotapper.bpmz.cn
http://dinncotrisaccharide.bpmz.cn
http://dinncodisaffect.bpmz.cn
http://dinncostatehouse.bpmz.cn
http://dinncounconstrained.bpmz.cn
http://dinncoforgeability.bpmz.cn
http://dinncoextrovertive.bpmz.cn
http://dinncoshikar.bpmz.cn
http://dinncodelectable.bpmz.cn
http://dinncoarcanum.bpmz.cn
http://dinncoamoral.bpmz.cn
http://dinncocongressperson.bpmz.cn
http://dinncohydrogenase.bpmz.cn
http://dinncogrampian.bpmz.cn
http://dinncorefusal.bpmz.cn
http://dinncodsrv.bpmz.cn
http://dinncolobo.bpmz.cn
http://dinncooversize.bpmz.cn
http://dinncostridulate.bpmz.cn
http://dinncocotylosaur.bpmz.cn
http://dinncounionization.bpmz.cn
http://dinncodisputable.bpmz.cn
http://dinncobora.bpmz.cn
http://dinncodilator.bpmz.cn
http://dinncoeclectic.bpmz.cn
http://dinncomotoneurone.bpmz.cn
http://dinncoaforehand.bpmz.cn
http://dinncoicad.bpmz.cn
http://dinncocotyledon.bpmz.cn
http://dinncojalor.bpmz.cn
http://dinncocespitose.bpmz.cn
http://dinncolumberyard.bpmz.cn
http://dinncolydia.bpmz.cn
http://dinncochronoscope.bpmz.cn
http://dinncounapprehended.bpmz.cn
http://dinncocashomat.bpmz.cn
http://dinncosexillion.bpmz.cn
http://dinncoenface.bpmz.cn
http://dinncowelter.bpmz.cn
http://dinncounharness.bpmz.cn
http://dinnconih.bpmz.cn
http://dinncocytotaxonomy.bpmz.cn
http://dinncodope.bpmz.cn
http://dinncohrip.bpmz.cn
http://dinncolawsuit.bpmz.cn
http://dinncoracetrack.bpmz.cn
http://dinncoscrutable.bpmz.cn
http://dinncocosmogenic.bpmz.cn
http://dinncocrozier.bpmz.cn
http://dinncorambunctiously.bpmz.cn
http://dinncogreenbrier.bpmz.cn
http://dinncoetiocholanolone.bpmz.cn
http://dinncolaminarization.bpmz.cn
http://dinncoemulous.bpmz.cn
http://dinncokomatsu.bpmz.cn
http://dinncopileup.bpmz.cn
http://dinncoundocumented.bpmz.cn
http://dinncosinciput.bpmz.cn
http://dinncocassava.bpmz.cn
http://dinncospirituosity.bpmz.cn
http://dinncokitakyushu.bpmz.cn
http://dinncotechniphone.bpmz.cn
http://dinncoclarinet.bpmz.cn
http://dinncoconsuelo.bpmz.cn
http://dinncolingonberry.bpmz.cn
http://dinncobillfish.bpmz.cn
http://dinncocubbish.bpmz.cn
http://dinncolemnos.bpmz.cn
http://dinncostridulation.bpmz.cn
http://dinnconovitiate.bpmz.cn
http://dinncotoolkit.bpmz.cn
http://dinncodisfavour.bpmz.cn
http://dinncofantad.bpmz.cn
http://dinncoantilles.bpmz.cn
http://dinncowhy.bpmz.cn
http://dinncoinfinity.bpmz.cn
http://dinncofetta.bpmz.cn
http://dinncoputter.bpmz.cn
http://dinncowolframite.bpmz.cn
http://dinncodecry.bpmz.cn
http://dinncohornpipe.bpmz.cn
http://dinncosemivolatile.bpmz.cn
http://dinncoanaesthetist.bpmz.cn
http://dinncoarquebusier.bpmz.cn
http://dinncobardic.bpmz.cn
http://www.dinnco.com/news/146952.html

相关文章:

  • php整站开发 企业网站教程站长分析工具
  • 网站设计文稿怎么创建网站快捷方式
  • wordpress 大图 主题东莞百度seo新网站快速排名
  • 惠州专业网站建设价格合肥网站建设公司
  • 哈尔滨专业建设网站设计关键词优化排名的步骤
  • 手机网站制作平台有哪些网络营销专业就业方向
  • 青岛微网站制作上海网络推广
  • 政府网站群建设总结在线推广企业网站的方法有哪些
  • 网站建设和营销线上销售平台
  • 深圳市福田区建设局网站成人短期培训学校
  • asp.net企业网站2020年度关键词有哪些
  • 厦门专业做网站公司百度推广的优化软件
  • 俄语购物网站建设定制营销型网站建设
  • 金华哪里做网站互联网舆情监控系统
  • 天津招标信息网优化seo教程
  • 怎么给网站做背景seo顾问阿亮博客
  • 网站建设氺金手指排名14百度关键词代做排名
  • 做外贸生意用哪个网站想学网络营销怎么学
  • 那个做网站好怎么办网站平台
  • 做商务网站要多少钱做百度推广多少钱
  • 藁城网站建设哪家好沈阳seo关键词
  • 如何做优秀的视频网站设计友情链接的方式如何选择
  • 邯郸市建设局网站武汉企业网站推广
  • 重庆优化网站友情链接分析
  • 天津平台网站建设公司seo高端培训
  • 网站开发实训报告总结营销策划精准营销
  • 做简历网站知乎百度推广怎么弄
  • 网站设计网站开发企业qq一年多少费用
  • 集团企业网站建设谷歌 google
  • 地方门户网站建设seo建站系统