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

基于html5开发的网站开发网站主目录权限配置

基于html5开发的网站开发,网站主目录权限配置,安徽住房和城乡建设部网站,中山免备案网站建设目录 一、介绍二、项目管理系统中使用桥接模式三、权限管理中使用桥接模式四、Java JDBC中使用桥接模式 一、介绍 它的主要目的是将抽象化与实现化分离#xff0c;使得二者可以独立变化#xff0c;就像一个桥#xff0c;将两个变化维度连接起来。各个维度都可以独立的变化。… 目录 一、介绍二、项目管理系统中使用桥接模式三、权限管理中使用桥接模式四、Java JDBC中使用桥接模式 一、介绍 它的主要目的是将抽象化与实现化分离使得二者可以独立变化就像一个桥将两个变化维度连接起来。各个维度都可以独立的变化。故称之为桥接模式 桥接模式的核心在于通过一个桥接接口将抽象部分与实现部分解耦。这样做的好处是显而易见的当系统中的某个维度抽象或实现需要变更时不会影响到另一个维度。具体来说桥接模式涉及以下几个关键角色 抽象化角色Abstraction它是抽象类的接口定义了一个实现化的引用和对实现化的操作。 修正抽象化角色Refined Abstraction它是扩展了抽象化角色的子类在实际应用中具体的业务逻辑通常在这个角色中实现。 实现化角色Implementor这个角色定义了一个接口由具体实现化角色来实现。 具体实现化角色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 remotelytester.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 roles 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 dataadminUser.viewData(); // Output: Admin role: Admin role can access normal roles datasuperAdminUser.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://www.hkea.cn/news/14403876/

相关文章:

  • 网站视频源码地址创建网站超市
  • 个人网站可以注册com域名吗wordpress 图片特效
  • html是建网站导航栏怎么做什么是网站平台开发工具
  • 手机购物网站 设计商业性质网站设计
  • 做系统用什么网站好国外手机模板网站推荐
  • 汽车技术资料网站建设wordpress粒子北京
  • 怎么做网站挣钱全网营销型网站建设模板
  • 网站维护的过程及方法花都区建设局网站
  • 在中国怎么做国外网站手机网站建设推广方案ppt模板
  • 宠物网站页面设计ps前段模板的网站
  • 临沂网站建设哪家公司好如何给网站做脚本
  • 长沙如何做网站wordpress 回复评论
  • 站点与网站有什么区别dede 更新网站地图
  • 网站建设多选题大型新型网站
  • 小程序设计网站青岛市建设网站
  • 广州网站制作多少钱用ps做个人网站界面
  • 网站策划与建设阶段的推广的目标服务器安全防护
  • 个人免费推广网站qqpc版登录
  • 如何建设网站赚钱论述三种常见的网络营销方式
  • 便利的龙岗网站设计响应式网站开发流行吗
  • 个人网站建站教程长沙的互联网网站公司
  • 广平专业做网站wordpress 基础seo建站
  • wordpress网站如何制作wordpress对接码支付教程
  • 《网页设计与网站建设》镇江网站建设咨询
  • 做网站那种布局好怎么免费做自己的网站
  • 网站提交至google襄阳住房和城乡建设局网站
  • 中国联通网站备案及ip地址备案管理要求WordPress博客自动更新文章
  • 要制作自己的网站需要什么中国山东网站建设
  • 查钓鱼网站一般淘宝网站做几个月赚钱
  • 地产项目网站设计做超市促销海报哪个网站好