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

网站推广公司排行榜网站建设运营维护方案

网站推广公司排行榜,网站建设运营维护方案,企业怎样做好网站建设,网站建设冫首先金手指十五引言 在软件开发中#xff0c;经常会遇到需要在抽象与实现之间建立连接的情况。当系统需要支持多个维度的变化时#xff0c;使用传统的继承方式往往会导致类爆炸和耦合度增加的问题。为了解决这一问题#xff0c;我们可以使用桥接模式。桥接模式是一种结构型设计模式#…引言 在软件开发中经常会遇到需要在抽象与实现之间建立连接的情况。当系统需要支持多个维度的变化时使用传统的继承方式往往会导致类爆炸和耦合度增加的问题。为了解决这一问题我们可以使用桥接模式。桥接模式是一种结构型设计模式它将抽象部分与其实现部分分离使它们可以独立地变化。本文将深入探讨桥接模式的概念、应用场景以及在实际项目中的实现方式。 一、理解桥接模式 1.1 什么是桥接模式 桥接模式是一种结构型设计模式旨在将抽象部分与其实现部分分离使它们可以独立地变化。桥接模式通过将抽象和实现解耦使得它们可以独立地扩展而不会相互影响。这种分离使得系统更加灵活可以应对不断变化的需求。 1.2 桥接模式的角色 在桥接模式中通常有以下几个角色 抽象化Abstraction定义抽象类的接口并维护一个指向实现化对象的引用。扩展抽象化Refined Abstraction对抽象化角色进行扩展实现更加精细的抽象接口。实现化Implementor定义实现类的接口供抽象化角色调用。具体实现化Concrete Implementor具体的实现类实现了实现化角色定义的接口。 二、桥接模式的应用场景 2.1 多维度变化的情况 当一个类存在多个变化维度并且这些变化维度需要独立扩展时可以考虑使用桥接模式。例如一个形状类有不同的颜色和绘制方式可以使用桥接模式将形状与颜色、绘制方式分离实现各自独立的扩展。 2.2 需要避免使用继承的情况 在传统的继承方式中类的继承关系是静态的一旦继承关系确定就不容易变化。而使用桥接模式可以在运行时动态地选择抽象和实现的组合避免了继承方式的静态性。 三、Java 中的桥接模式实现 在 Java 中桥接模式的实现通常通过接口和实现类组合的方式来实现。我们就以上面说的一个形状有不同的颜色和绘制方式可以使用桥接模式将形状与颜色方式分离实现各自独立的扩展举例。 先来看下示例的 UML 图 抽象化与扩展抽象化部分 public abstract class Shape {protected final DrawApi drawApi;public Shape(DrawApi api) {this.drawApi api;}public abstract void draw(); }public class Circle extends Shape {public Circle(DrawApi api) {super(api);}Overridepublic void draw() {System.out.println(Draw Circle : drawApi.draw());} }public class Square extends Shape {public Square(DrawApi api) {super(api);}Overridepublic void draw() {System.out.println(Draw Square: drawApi.draw());} }实现化部分与具体实现化部分 public interface DrawApi {String draw(); }public class RedDraw implements DrawApi{Overridepublic String draw() {return 使用红色颜料画图;} }public class BlueDraw implements DrawApi{Overridepublic String draw() {return 使用蓝色颜料画图;} }客户端部分 package com.markus.desgin.mode.structural.bridge;/*** Author: zhangchenglong06* Date: 2024/3/12* Description:*/ public class BridgePatternDemo {/*** Spring 中 JdbcTemplate 和 DataSource 之间的关系就是一种 桥接模式* param args*/public static void main(String[] args) {RedDraw redDraw new RedDraw();BlueDraw blueDraw new BlueDraw();Shape red new Circle(redDraw);Shape blue new Circle(blueDraw);red.draw();blue.draw();red new Square(redDraw);blue new Square(blueDraw);red.draw();blue.draw();} }四、桥接模式在 Spring 框架中的应用 在 Spring 框架中使用桥接模式的一个典型例子是在 JdbcTemplate 和 DataSource 之间。这两个组件是 Spring 框架中处理数据库操作的核心组件之一。 JdbcTemplate JdbcTemplate 是 Spring 框架提供的一个用于简化 JDBC 编程的类它封装了大量的 JDBC 操作使得开发者可以通过简单的方法调用来执行数据库查询、更新等操作而无需手动管理数据库连接、预处理语句、结果集等资源。通过使用 JdbcTemplate开发者可以专注于业务逻辑的实现而不用过多关注底层的数据库操作细节。 DataSource DataSource 是 Java 中用于管理数据库连接的接口它定义了一系列获取数据库连接的方法如 getConnection()getConnection(username, password) 等。在实际应用中DataSource 通常是由数据库厂商提供的具体实现比如 Apache 的 Commons DBCP、C3P0 等。 桥接模式应用 Spring 框架中使用桥接模式的地方就是在 JdbcTemplate 和 DataSource 之间的连接。具体来说JdbcTemplate 充当了抽象化角色而 DataSource 则充当了实现化角色。通过在 JdbcTemplate 中注入 DataSource 实例Spring 可以利用桥接模式将两者连接起来实现数据库操作的统一接口。这样一来JdbcTemplate 就可以使用 DataSource 提供的数据库连接从而执行相应的 SQL 操作。 下面是一个简单的示例代码演示了 JdbcTemplate 和 DataSource 之间的桥接模式应用 Configuration public class AppConfig {Beanpublic DataSource dataSource() {// 配置数据源这里使用 HikariCP 数据源作为示例HikariConfig config new HikariConfig();config.setJdbcUrl(jdbc:mysql://localhost:3306/mydatabase);config.setUsername(username);config.setPassword(password);return new HikariDataSource(config);}Beanpublic JdbcTemplate jdbcTemplate(DataSource dataSource) {// 注入数据源到 JdbcTemplate 中return new JdbcTemplate(dataSource);} }在上面的示例中我们通过 Bean 注解配置了一个 DataSource 实例并将其注入到 JdbcTemplate 中。这样一来在其他组件中就可以直接注入 JdbcTemplate然后使用它来执行数据库操作而不用关心底层的数据库连接细节。 总之Spring 框架中使用桥接模式将 JdbcTemplate 和 DataSource 结合起来使得开发者可以更加便捷地进行数据库操作提高了开发效率和代码的可维护性。 五、设计模式百宝箱 在本节我们继续填充我们的百宝箱 面向对象基础 抽象封装多态继承 面向对象原则 依赖抽象不要依赖具体类针对接口编程不针对具体实现编程类应该对扩展开放对修改关闭为交互对象之间的松耦合设计而努力多用组合少用继承 面向对象设计模式 简单工厂模式定义了一个创建对象的接口将创建对象的内容从客户端抽离出来抽象工厂模式提供一个接口用于创建相关或依赖对象的家族而不需要明确指定具体类原型模式通过复制现有对象来创建新对象提高代码效率和可维护性建造者模式将一个复杂对象的构建过程与其表示分离使得同样的构建过程可以创建不同的表示适配器模式将一个类的接口转换成客户期望的另一个接口。适配器让原来接口不兼容的类可以合作无间桥接模式将抽象与实现分离不止改变你的实现也能改变你的抽象 六、总结 总结一下本篇文章详细介绍了桥接模式在 Java 设计中的应用以及在 Spring 框架中的实际应用。首先它解释了桥接模式的基本概念和角色以及适用场景。然后通过一个形状与颜色绘制方式分离的示例展示了桥接模式的实现。最后以 JdbcTemplate 和 DataSource 之间的关系为例说明了桥接模式在 Spring 中的应用通过桥接模式将两者连接起来实现了数据库操作的统一接口。
http://www.w-s-a.com/news/485420/

相关文章:

  • 做网站效果图是用ps还是ai泰安人才网最新招聘信息2022年
  • 免费建站网站一级大录像不卡在线看网页郑州网站关键
  • 做网站 然后百度推广哈尔滨建筑网
  • 章丘营销型网站建设网站测评必须做
  • 营销者网站怎么把网站黑了
  • 律师事务所手机网站校园网站设计
  • 网站案例展示分类网站响应速度优化
  • 风景网站的制作网站ip地址查询域名
  • 怎样看网站是谁做的马鞍山什么房产网站做的好
  • 西安推荐企业网站制作平台软装设计方案ppt
  • 网站静态页模板专业网站设计开发公司
  • 手机免费在线搭建网站短网址生成防红
  • 天津网站设计网站制作如何新建wordpress
  • 山东省建设备案网站审批国际新闻最新消息10条简短
  • 成都市建设网扬尘监控网站短域名转换
  • 怎么做手机网站潍坊建设银行网站
  • 做网站分什么软件品牌设计培训
  • 太原网站设计排名设计本装修效果图
  • 网站个人中心模板石家庄网站系统开发
  • 优秀的电子商务网站教育公司网站建设文案
  • 网站开发市场成本网站链接推广工具
  • 猪八戒做网站排名常州seo博客
  • wordpress 网站遭篡改如何优化公司的网站
  • 汉中公司做网站网站建设的风格设置
  • 网站建议怎么写怎么做网页连接
  • 站长工具seo综合查询下载安装软件平台搭建包括哪几个方面
  • 做网站怎么存放视频支付功能网站建设
  • 庆阳手机网站设计兰州网站的优化
  • 企业网站托管有必要吗项目管理资格证书
  • 检索类的网站建设个人博客网页模板图片