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

河池做网站网站开发 图片库

河池做网站,网站开发 图片库,宁波奢华做网站排名,一起秀h5怎么制作一、什么是简单工厂模式 简单工厂模式#xff08;Simple Factory Pattern#xff09;是一种设计模式#xff0c;其中包含一个工厂类#xff0c;根据传入的参数不同#xff0c;返回不同类的实例。这个工厂类封装了对象的创建逻辑#xff0c;使得客户端代码可以从直接创建…一、什么是简单工厂模式 简单工厂模式Simple Factory Pattern是一种设计模式其中包含一个工厂类根据传入的参数不同返回不同类的实例。这个工厂类封装了对象的创建逻辑使得客户端代码可以从直接创建对象的复杂性中解放出来。 二、简单工厂模式的角色 抽象产品Product 定义了产品的接口或者抽象类所有的具体产品类都应该实现这个接口或继承这个抽象类。它规定了具体产品对象必须实现的接口。 具体产品Concrete Product 实现了抽象产品接口的具体产品类。工厂模式创建的最终对象是具体产品类的实例。 抽象工厂Creator 提供了一个创建产品的接口用于创建和返回一个产品实例。它可能包含一个或多个创建产品对象的方法。 具体工厂Concrete Creator 实现了抽象工厂接口的具体工厂类。它负责实例化具体的产品对象并且返回一个产品实例。 三、简单工厂模式的典型应用场景 对象的创建需要灵活性 当对象的创建依赖于多个条件或者需要根据不同的输入参数来创建不同类型的对象时工厂模式提供了一种灵活的方式来处理这些情况。 创建对象成本较高 当对象的创建过程中涉及到复杂的逻辑或者资源消耗较大时使用工厂模式可以封装这些复杂的创建过程使得客户端代码更加简洁。 数据库连接池 在需要创建数据库连接时可以使用工厂模式来封装创建连接的过程同时可以管理连接的生命周期。 四、简单工厂模式在StaticListableBeanFactory中的应用 StaticListableBeanFactory 是 Spring 框架中 BeanFactory 接口的一个具体实现它是一种特殊类型的工厂用于存储和管理 bean 的实例。在工厂模式中工厂类负责创建对象而在 StaticListableBeanFactory 中这个对象就是 Spring 容器管理的 bean。这个工厂是一个静态的工厂意味着它不基于 bean 的定义来动态创建 bean而是在工厂初始化时就添加了所有 bean 的实例。 在工厂模式的应用中StaticListableBeanFactory 扮演了以下几个角色 抽象工厂Factory提供了一个接口或抽象类定义了创建对象的方法。在 StaticListableBeanFactory 中这个接口是由 BeanFactory 提供的它定义了 getBean 等方法来获取 bean 实例。 具体工厂Concrete Factory实现了工厂接口的具体类负责创建具体产品的对象。StaticListableBeanFactory 就是具体工厂的实现它通过 addBean 方法静态地添加 bean 实例。 抽象产品Product工厂模式中创建的对象。在 Spring 中这些对象就是由 StaticListableBeanFactory 管理的 bean。 具体产品Concrete Product实现了产品接口的具体类。在 Spring 的上下文中这些是由 StaticListableBeanFactory 管理的具体 bean 实例。 StaticListableBeanFactory 在工厂模式中的应用特点如下 静态实例管理StaticListableBeanFactory 存储的是 bean 的实例而不是基于 bean 定义来动态创建实例。这意味着所有的 bean 必须在工厂初始化时就已经存在。 单例管理StaticListableBeanFactory 只支持单例 bean不支持原型prototypebean。这是因为它在初始化时就已经创建了 bean 的实例并且存储起来供后续使用。 列表功能由于实现了 ListableBeanFactory 接口StaticListableBeanFactory 支持通过类型来检索 bean这允许客户端代码可以通过类型来获取所有匹配的 bean 列表。 简单性StaticListableBeanFactory 是一个简化版的 bean 工厂它不支持 bean 的生命周期管理、依赖注入、bean 后处理等高级功能因此适用于简单的应用场景。 下面是一个简单的示例展示了如何使用 StaticListableBeanFactory 来实现工厂模式 //抽象工厂 public interface BeanFactory {T T getBean(String name, ClassT requiredType) throws BeansException;Object getBean(String name, Object... args) throws BeansException;}//具体工厂 public class StaticListableBeanFactory implements BeanFactory {Overridepublic Object getBean(String name) throws BeansException {String beanName BeanFactoryUtils.transformedBeanName(name);Object bean this.beans.get(beanName);if (bean null) {throw new NoSuchBeanDefinitionException(beanName,Defined beans are [ StringUtils.collectionToCommaDelimitedString(this.beans.keySet()) ]);}if (BeanFactoryUtils.isFactoryDereference(name) !(bean instanceof FactoryBean)) {throw new BeanIsNotAFactoryException(beanName, bean.getClass());}if (bean instanceof FactoryBean !BeanFactoryUtils.isFactoryDereference(name)) {try {return ((FactoryBean?) bean).getObject();}catch (Exception ex) {throw new BeanCreationException(beanName, FactoryBean threw exception on object creation, ex);}}else {return bean;}}public void addBean(String name, Object bean) {this.beans.put(name, bean);}}// 具体产品 class MyBean {public void doSomething() {System.out.println(Doing something);} }//客户端 public class StaticListableBeanFactoryExample {public static void main(String[] args) {// 创建 StaticListableBeanFactory 实例StaticListableBeanFactory beanFactory new StaticListableBeanFactory();// 创建一个具体的产品实例MyBean myBean new MyBean();// 将产品实例添加到工厂中关联一个名称beanFactory.addBean(myBeanName, myBean);// 从工厂中获取产品实例MyBean bean beanFactory.getBean(myBeanName, MyBean.class);// 使用产品bean.doSomething();} } 在这个示例中MyBean 是具体产品我们创建了它的一个实例并将其添加到 StaticListableBeanFactory 中。然后我们可以通过工厂的 getBean 方法来获取这个 bean 并使用它。这个过程展示了工厂模式的典型应用即通过工厂来封装对象的创建过程使得客户端代码更加简洁并且解耦了对象的创建和使用。
http://www.dnsts.com.cn/news/17551.html

相关文章:

  • 学习建设网站书籍wordpress增加分类
  • 怎么自己电脑做网站服务器马鞍山网站制作公司
  • seo诊断工具网站外贸网站免费建站
  • 手机网站页面如何制作腾讯微信山东区建站推广中心
  • 河北网站建设企业50000免费短视频素材
  • 舞钢市住房和城乡建设局网站如何做视频网站的广告推广
  • 网站开发技术总监面试题海口网站制作网站
  • 东城做网站义乌来料123加工网
  • 那些开店的网站是自己做的吗响应式网站文字大小
  • 郑州航海路网站建设163 com免费邮箱注册
  • 网站停留时间 从哪里获取郴州58同城
  • 手把手教你做网站7开封市建设教育协会网站
  • 呼和浩特网站建设价格做一个企业的网站怎么做的
  • 石家庄网站编辑河北seo网站设计
  • 怎么做网站服务器系统工业和信息化部网站备案系统怎么登录
  • 深圳pc端网站开发从哪方面建设网站
  • 深圳网站设计公司有哪些ps做网站图
  • 网站标题和关键词一样网页设计需要学什么软件有哪些
  • 陕西示范校建设专题网站广西营销型网站公司
  • 网站网站制作多少钱网站推广产品怎么做
  • 网站设计与制作的基本步骤滨州做企业网站
  • 搭建公司网站多少钱品牌网首页
  • 嘉兴备案网站建设东莞手机网站制作
  • 网站建设营销型网站概念网站页面设计好了后台如何添加
  • 杂谈发现一只网站是你们谁做的赣州网站建设平台
  • 做网站的框架有在线crm系统是啥
  • 怎么做自己的网站主页创建了网站
  • 昆明网站设计都需要设计什么石家庄网站制作招聘
  • 金华app网站开发动画设计专业就业前景怎么样
  • 外贸网站运营工作内容html做网页