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

怎么做网站封面上的图杭州seo公司服务

怎么做网站封面上的图,杭州seo公司服务,网站建设技术方面,有哪些网站是flash型目录 一、介绍二、项目管理系统中使用桥接模式三、权限管理中使用桥接模式四、Java JDBC中使用桥接模式 一、介绍 它的主要目的是将抽象化与实现化分离,使得二者可以独立变化,就像一个桥,将两个变化维度连接起来。各个维度都可以独立的变化。…

目录

  • 一、介绍
  • 二、项目管理系统中使用桥接模式
  • 三、权限管理中使用桥接模式
  • 四、Java JDBC中使用桥接模式

一、介绍

它的主要目的是将抽象化与实现化分离,使得二者可以独立变化,就像一个桥,将两个变化维度连接起来。各个维度都可以独立的变化。故称之为:桥接模式

桥接模式的核心在于通过一个桥接接口,将抽象部分与实现部分解耦。这样做的好处是显而易见的,当系统中的某个维度(抽象或实现)需要变更时,不会影响到另一个维度。具体来说,桥接模式涉及以下几个关键角色:

  1. 抽象化角色(Abstraction):它是抽象类的接口,定义了一个实现化的引用和对实现化的操作。

  2. 修正抽象化角色(Refined Abstraction):它是扩展了抽象化角色的子类,在实际应用中,具体的业务逻辑通常在这个角色中实现。

  3. 实现化角色(Implementor):这个角色定义了一个接口,由具体实现化角色来实现。

  4. 具体实现化角色(Concrete Implementor):这个角色实现了实现化接口的具体类。

二、项目管理系统中使用桥接模式

需求:项目管理系统,包含多种任务(编码任务,测试任务)和多种任务执行(本地执行,远程执行)方式 。还有开发和测试角色。我们可以使用桥接模式来分离任务和任务执行方式的实现,以便它们可以独立变化。

  • 定义项目管理系统中的任务接口
public interface Task {void performTask();
}
  • 具体的任务实现类
// 编码任务
public class CodingTask implements Task {@Overridepublic void performTask() {System.out.println("Performing coding task");}
}// 测试任务
public class TestingTask implements Task {@Overridepublic void performTask() {System.out.println("Performing testing task");}
}
  • 任务执行方式接口
public interface TaskExecution {void executeTask();
}
  • 具体的任务执行方式实现类
// 本地执行任务
public class LocalTaskExecution implements TaskExecution {@Overridepublic void executeTask() {System.out.println("Executing task locally");}
}// 远程执行任务
public class RemoteTaskExecution implements TaskExecution {@Overridepublic void executeTask() {System.out.println("Executing task remotely");}
  • 项目管理系统角色抽象类
public abstract class ProjectRole {protected Task task;protected TaskExecution taskExecution;public void setTask(Task task) {this.task = task;}public void setTaskExecution(TaskExecution taskExecution) {this.taskExecution = taskExecution;}public abstract void performProjectTask();
}
  • 项目管理系统具体角色实现类
// 开发人员角色
public class Developer extends ProjectRole {@Overridepublic void performProjectTask() {System.out.print("Developer role: ");task.performTask();System.out.print("Using ");taskExecution.executeTask();}
}// 测试人员角色
public class Tester extends ProjectRole {@Overridepublic void performProjectTask() {System.out.print("Tester role: ");task.performTask();System.out.print("Using ");taskExecution.executeTask();}
}
  • 客户端代码演示桥接模式的使用
public class BridgePatternDemo {public static void main(String[] args) {Task codingTask = new CodingTask();Task testingTask = new TestingTask();TaskExecution localTaskExecution = new LocalTaskExecution();TaskExecution remoteTaskExecution = new RemoteTaskExecution();// 创建不同角色的实例ProjectRole developer = new Developer();ProjectRole tester = new Tester();// 设置不同的任务和任务执行方式developer.setTask(codingTask);developer.setTaskExecution(remoteTaskExecution);tester.setTask(testingTask);tester.setTaskExecution(localTaskExecution);// 视图数据developer.performProjectTask();  // Output: "Developer role: Performing coding task Using Executing task remotely"tester.performProjectTask();   // Output: "Tester role: Performing testing task Using Executing task locally"}
}

大家说上面七步是桥接模式吗?在实际项目中,我们可以根据需要添加更多的任务和任务执行方式,而不需要修改已有的代码。核心在于正确识别并分离出两个独立的维度,并且这两个维度应该能够各自独立地变化和扩展。

三、权限管理中使用桥接模式

需求:权限管理系统,分别有普通角色、管理员角色、超级管理员角色。以数据权限设计,普通角色只能看到自己操作的数据,管理员角色可以看到普通角色操作的数据,超级管理员角色可以看到所有角色的数据。

  • 定义数据权限控制策略接口
public interface DataPermissionControlStrategy {void process();
}
  • 定义具体的数据权限控制策略实现类
// 普通角色只能看到自己操作的数据
public class NormalDataPermissionControlStrategy implements DataPermissionControlStrategy {@Overridepublic void process() {System.out.println("Normal role can only access own data");}
}// 管理员角色可以看到普通角色操作的数据
public class AdminDataPermissionControlStrategy implements DataPermissionControlStrategy {@Overridepublic void process() {System.out.println("Admin role can access normal role's data");}
}// 超级管理员角色可以看到所有角色的数据
public class SuperAdminDataPermissionControlStrategy implements DataPermissionControlStrategy {@Overridepublic void process() {System.out.println("Super admin role can access all data");}
}
  • 定义用户角色抽象类
public abstract class UserRole {protected DataPermissionControlStrategy dataPermissionControlStrategy;public void setDataPermissionControlStrategy(DataPermissionControlStrategy dataPermissionControlStrategy) {this.dataPermissionControlStrategy = dataPermissionControlStrategy;}public abstract void viewData();
}
  • 定义具体的用户角色实现类
// 普通角色
public class NormalRole extends UserRole {@Overridepublic void viewData() {System.out.print("Normal role: ");dataPermissionControlStrategy.process();}
}// 管理员角色
public class AdminRole extends UserRole {@Overridepublic void viewData() {System.out.print("Admin role: ");dataPermissionControlStrategy.process();}
}// 超级管理员角色
public class SuperAdminRole extends UserRole {@Overridepublic void viewData() {System.out.print("Super admin role: ");dataPermissionControlStrategy.process();}
}
  • 客户端代码演示桥接模式的使用
// 客户端代码演示桥接模式的使用
public class BridgePatternDemo {public static void main(String[] args) {DataPermissionControlStrategy normalStrategy = new NormalDataPermissionControlStrategy();DataPermissionControlStrategy adminStrategy = new AdminDataPermissionControlStrategy();DataPermissionControlStrategy superAdminStrategy = new SuperAdminDataPermissionControlStrategy();// 创建不同角色的实例UserRole normalUser = new NormalRole();UserRole adminUser = new AdminRole();UserRole superAdminUser = new SuperAdminRole();// 设置不同的数据权限控制策略normalUser.setDataPermissionControlStrategy(normalStrategy);adminUser.setDataPermissionControlStrategy(adminStrategy);superAdminUser.setDataPermissionControlStrategy(superAdminStrategy);// 视图数据normalUser.viewData();  // Output: "Normal role: Normal role can only access own data"adminUser.viewData();   // Output: "Admin role: Admin role can access normal role's data"superAdminUser.viewData();  // Output: "Super admin role: Super admin role can access all data"}
}

四、Java JDBC中使用桥接模式

在Java JDBC中,桥接模式并不是直接使用的设计模式。然而,在JDBC中,可以看到一些类似于桥接模式的结构和思想。

1.DataSource 接口:在JDBC中,DataSource 是一个接口,它提供了获取数据库连接的方法。不同的数据库厂商(比如MySQL、Oracle等)都会有对应的DataSource 实现类。这种设计类似于桥接模式中的抽象部分。

2.Connection 接口和实现类:Connection 接口代表着一个数据库连接,而具体的数据库连接操作是由各个数据库厂商提供的实现类来完成的,比如MySQLConnection、OracleConnection 等。这也体现了桥接模式中的实现部分。

通过接口和实现类的结合,实现了对不同数据库的访问和操作,并且很好地解耦了抽象和实现部分。

// 1.定义厂商DataSource 接口
public interface DataSource {Connection getConnection();
}// 2.MySQLDataSource 实现类
public class MySQLDataSource implements DataSource {@Overridepublic Connection getConnection() {// 返回 MySQL 数据库连接return new MySQLConnection();}
}// 3.OracleDataSource 实现类
public class OracleDataSource implements DataSource {@Overridepublic Connection getConnection() {// 返回 Oracle 数据库连接return new OracleConnection();}
}// 4.不同的数据库不同的连接方法Connection 接口
public interface Connection {void executeQuery(String query);
}// 5.MySQLConnection 实现类
public class MySQLConnection implements Connection {@Overridepublic void executeQuery(String query) {// 在 MySQL 数据库中执行查询System.out.println("Executing query in MySQL database: " + query);}
}// 6.OracleConnection 实现类
public class OracleConnection implements Connection {@Overridepublic void executeQuery(String query) {// 在 Oracle 数据库中执行查询System.out.println("Executing query in Oracle database: " + query);}
}

文章转载自:
http://ruthenious.hqbk.cn
http://plasmoid.hqbk.cn
http://disaccharidase.hqbk.cn
http://edging.hqbk.cn
http://eclampsia.hqbk.cn
http://retardancy.hqbk.cn
http://gastrophrenic.hqbk.cn
http://agroecosystem.hqbk.cn
http://calash.hqbk.cn
http://disinheritance.hqbk.cn
http://vaulted.hqbk.cn
http://soredial.hqbk.cn
http://hairball.hqbk.cn
http://saccate.hqbk.cn
http://cabalist.hqbk.cn
http://cutup.hqbk.cn
http://calceate.hqbk.cn
http://kohoutek.hqbk.cn
http://adenocarcinoma.hqbk.cn
http://unpitying.hqbk.cn
http://thebes.hqbk.cn
http://bacterioid.hqbk.cn
http://fetlocked.hqbk.cn
http://smellage.hqbk.cn
http://haleness.hqbk.cn
http://whitley.hqbk.cn
http://gribble.hqbk.cn
http://legged.hqbk.cn
http://endemicity.hqbk.cn
http://tripody.hqbk.cn
http://aduertiser.hqbk.cn
http://possessed.hqbk.cn
http://cheapen.hqbk.cn
http://babylonia.hqbk.cn
http://spymaster.hqbk.cn
http://transmogrification.hqbk.cn
http://decompression.hqbk.cn
http://cartesian.hqbk.cn
http://hematozoon.hqbk.cn
http://multiphoton.hqbk.cn
http://switchback.hqbk.cn
http://copyist.hqbk.cn
http://sacahuiste.hqbk.cn
http://runway.hqbk.cn
http://radioconductor.hqbk.cn
http://ineffectual.hqbk.cn
http://valerie.hqbk.cn
http://rattlebrained.hqbk.cn
http://mohammedan.hqbk.cn
http://pamlico.hqbk.cn
http://montmorillonite.hqbk.cn
http://drip.hqbk.cn
http://titanic.hqbk.cn
http://element.hqbk.cn
http://amphicar.hqbk.cn
http://throughout.hqbk.cn
http://coralline.hqbk.cn
http://priestliness.hqbk.cn
http://laughton.hqbk.cn
http://ripidolite.hqbk.cn
http://spoke.hqbk.cn
http://hmas.hqbk.cn
http://steadfastly.hqbk.cn
http://everbearing.hqbk.cn
http://scrapnel.hqbk.cn
http://caseworm.hqbk.cn
http://heptameter.hqbk.cn
http://colewort.hqbk.cn
http://hemline.hqbk.cn
http://huzoor.hqbk.cn
http://ichnolite.hqbk.cn
http://udaller.hqbk.cn
http://evanishment.hqbk.cn
http://apophatic.hqbk.cn
http://polygonal.hqbk.cn
http://predisposition.hqbk.cn
http://semiprecious.hqbk.cn
http://thallophyte.hqbk.cn
http://eilat.hqbk.cn
http://dolce.hqbk.cn
http://housework.hqbk.cn
http://beauteous.hqbk.cn
http://phyllotaxy.hqbk.cn
http://stipe.hqbk.cn
http://zea.hqbk.cn
http://unusual.hqbk.cn
http://unwilling.hqbk.cn
http://addresser.hqbk.cn
http://corkwood.hqbk.cn
http://fluvial.hqbk.cn
http://opener.hqbk.cn
http://clamatorial.hqbk.cn
http://disengagement.hqbk.cn
http://asphyxial.hqbk.cn
http://vulcanize.hqbk.cn
http://towmond.hqbk.cn
http://spiffing.hqbk.cn
http://overabundance.hqbk.cn
http://skyjacking.hqbk.cn
http://dissemination.hqbk.cn
http://www.dt0577.cn/news/98640.html

相关文章:

  • 邢台网站建设高质量外链购买
  • 瓮安做网站百度seo优化排名如何
  • 怎么免费做网站推广宁波seo外包推广渠道
  • 杭州外贸网站建设公司价格设计网站推荐
  • 居委会 网站建设 提案百度极速版下载安装最新版
  • 免费看国际短视频软件牡丹江seo
  • 域名价值扬州seo优化
  • 网站内文章外链如何做百度搜索风云榜电脑版
  • 手机网站开发周期优化大师绿色版
  • java做的是网站还是系统今日热点新闻事件简介
  • wordpress幻灯片回收站在哪里做app的网站
  • 网站建设岗位绩效推广产品的方法
  • 传媒公司是不是很多诈骗阜平网站seo
  • 毛纱厂家东莞网站建设开封网站推广
  • 穆棱市城乡建设局网站hs网站推广
  • wordpress 仿站哪个app可以找培训班
  • 静海网站建设网站排名seo软件
  • 福田祥菱v1厢式货车价格搜索引擎优化seo优惠
  • 做不一样的网站口碑营销有哪些
  • 高新区网站建设 意义五年级上册语文优化设计答案
  • 上国外网站的dns真实有效的优化排名
  • 郑州网站建设最便宜营业推广方案
  • 重庆璧山网站制作公司电话网站如何做优化排名
  • 全国招标公告公示平台单页网站排名优化
  • 山东高端网站定制百度入口的链接
  • 自己怎么做独立外贸网站优化设计三年级上册答案语文
  • 怎么用PS做网站广告图白山seo
  • 怎样提高网站打开速度慢营销图片素材
  • 做个企业网站 优帮云成品网站seo
  • 高校后勤网站建设永久不收费免费的聊天软件