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

阿里云网站建设步骤建设部网站投诉核查企业名单

阿里云网站建设步骤,建设部网站投诉核查企业名单,欧派整装大家居装修公司加盟,长沙网站seo技巧简单工厂模式#xff0c;又称为静态工厂方法(Static Factory Method)模式。在简单工厂模式中#xff0c;可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例#xff0c;被创建的实例通常都具有共同的父类。简单工厂模式不属于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://wiki.neutronadmin.com/news/232794/

相关文章:

  • 鑫瀚通网站建设平江外贸推广软件
  • 网站商城建设实训心得沧县做网站
  • 美食网站开发环境上海市中小企业服务云
  • 怎么做网站关键词视频培训校园网站建设简报
  • 在线课程网站开发任务书建设银行网站 个人客户
  • 徐州做网站xlec襄阳建设局网站
  • 公司微信网站开发平台在线html编辑
  • 上杭网站佛山专业做网站的公司
  • 做企业网站比较好的公司微信怎样开公众号
  • 拖鞋设计网站推荐学网络工程好找工作吗
  • 比邻店网站开发网站建设案例知名 乐云践新
  • 专业群建设 网站长沙logo设计公司哪家好些
  • 南通网站建设论文公司网站如何宣传推广
  • 如何介绍网站模板下载地址新冠数据实时更新
  • 建设银行余额查询网站企业快速建站
  • wed网站开发是什么兰州忠旗网站建设科技有限公司
  • 汽车行业网站建设比较哈尔滨网页制作最新招聘信息
  • 网站建设与维护的国家定价标准wordpress网盘
  • 和京东一样的网站如何自己建立一个网站
  • 诚信的小程序开发兼职网站浪起网站建设
  • 网站建设与制作视频教学wordpress用什么数据库连接
  • 网络销售网站外包美食 wordpress
  • 镇江网站优化公司510企业网站系统源码
  • 读图机 东莞网站建设教人做策划的网站
  • 公司网站建设的相关建议古塔网站建设
  • 网站专题制作关闭wordpress更新提示
  • 乐陵人力资源网站网站建设怎么收费
  • 上海做外贸网站建设php移动网站开发
  • 图片展示网站php源码wordpress 代码分析
  • 网站建设信息稿冒用网站备案号建设网站