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

兰州网站建设运营方案企业公司简介范文

兰州网站建设运营方案,企业公司简介范文,南山区宝安区福田区,找人做网站需要准备什么材料设计模式原则 设计模式示例代码库地址#xff1a; https://gitee.com/Jasonpupil/designPatterns 接口隔离原则 要求程序员尽量将臃肿庞大的接口拆分为更小的和更具体的接口#xff0c;让接口中只包含客户感兴趣的方法接口隔离原则的目标是降低类或模块之间的耦合度…设计模式原则 设计模式示例代码库地址 https://gitee.com/Jasonpupil/designPatterns 接口隔离原则 要求程序员尽量将臃肿庞大的接口拆分为更小的和更具体的接口让接口中只包含客户感兴趣的方法接口隔离原则的目标是降低类或模块之间的耦合度提高代码的可维护性、可扩展性和可测试性。通过使用多个专门的接口我们可以避免类或模块之间出现不必要的依赖关系减少对无用接口的实现或调用从而降低了修改和维护的成本。 模式场景学校管理系统不同角色的功能 接口隔离原则替换前定义一个角色接口包含几个功能成绩查询、成绩上传和教师管理所有角色都实现了这个接口但是不同角色的权限不同只能使用对应权限的功能比如学生只能成绩查询而老师就可以成绩查询和成绩上传。如果都实现同一个接口还需要进行每个功能进行隔离比较麻烦。接口隔离原则替换后把角色功能接口根据每个功能进行拆分角色类实现对应权限的功能接口这样就简化了角色类里实现功能隔离。 接口隔离原则替换前示例代码功能没有具体实现主要看逻辑是怎么样 角色功能接口 /*** Description: 角色接口* Author: pupil* Date: 2024/06/26 下午 11:29*/ public interface Role {/*** 成绩查询* param userId 学生id* return*/String scoreInquiry(long userId);/*** 成绩上传* param userId 学生id* param grades 成绩*/void gradeUpload(long userId, MapString,Double grades);/*** 教师管理* param teacherId 教师id*/void teacherManagement(long teacherId);}校长类 /*** Description: 校长功能没有具体实现* Author: pupil* Date: 2024/06/26 下午 11:30*/ public class Principal implements Role {private Logger logger LoggerFactory.getLogger(Principal.class);Overridepublic String scoreInquiry(long userId) {logger.info(学生{}成绩是....,userId);return null;}Overridepublic void gradeUpload(long userId, MapString, Double grades) {// 无法实现该功能}Overridepublic void teacherManagement(long teacherId) {logger.info(教师{}: 进行管理,teacherId);} }教师类 /*** Description: 教师* Author: pupil* Date: 2024/06/26 下午 11:31*/ public class Teacher implements Role {private Logger logger LoggerFactory.getLogger(Teacher.class);Overridepublic String scoreInquiry(long userId) {logger.info(学生{}成绩是....,userId);return null;}Overridepublic void gradeUpload(long userId, MapString, Double grades) {logger.info(学生{}成绩上传为{},userId,grades);}Overridepublic void teacherManagement(long teacherId) {// 无法实现该功能} }学生类 /*** Description: 学生* Author: pupil* Date: 2024/06/26 下午 11:31*/ public class Student implements Role {private Logger logger LoggerFactory.getLogger(Student.class);Overridepublic String scoreInquiry(long userId) {logger.info(学生{}成绩是....,userId);return null;}Overridepublic void gradeUpload(long userId, MapString, Double grades) {// 无法实现该功能}Overridepublic void teacherManagement(long teacherId) {// 无法实现该功能} }接口隔离原则替换后示例代码功能没有具体实现主要看逻辑是怎么样 成绩查询功能接口 /*** Description: 成绩查询功能接口* Author: pupil* Date: 2024/06/26 下午 11:56*/ public interface ScoreInquiry {/*** 成绩查询* param userId 学生id* return*/String scoreInquiry(long userId); }成绩上传功能接口: /*** Description: 成绩上传功能接口* Author: pupil* Date: 2024/06/26 下午 11:56*/ public interface GradeUpload {/*** 成绩上传* param userId 学生id* param grades 成绩*/void gradeUpload(long userId, MapString,Double grades); }教师管理功能接口: /*** Description: 教师管理功能接口* Author: pupil* Date: 2024/06/27 上午 12:01*/ public interface TeacherManagement {/*** 教师管理* param teacherId 教师id*/void teacherManagement(long teacherId); }校长类 /*** Description: 校长功能没有具体实现* Author: pupil* Date: 2024/06/26 下午 11:30*/ public class Principal implements ScoreInquiry, TeacherManagement {private Logger logger LoggerFactory.getLogger(Principal.class);Overridepublic String scoreInquiry(long userId) {logger.info(学生{}成绩是...., userId);return null;}Overridepublic void teacherManagement(long teacherId) {logger.info(教师{}: 进行管理, teacherId);}}教师类: /*** Description: 教师功能没有具体实现* Author: pupil* Date: 2024/06/26 下午 11:31*/ public class Teacher implements ScoreInquiry, GradeUpload {private Logger logger LoggerFactory.getLogger(Teacher.class);Overridepublic String scoreInquiry(long userId) {logger.info(学生{}成绩是....,userId);return null;}Overridepublic void gradeUpload(long userId, MapString, Double grades) {logger.info(学生{}成绩上传为{},userId,grades);}}学生类 /*** Description: 学生功能没有具体实现* Author: pupil* Date: 2024/06/26 下午 11:31*/ public class Student implements ScoreInquiry {private Logger logger LoggerFactory.getLogger(Student.class);Overridepublic String scoreInquiry(long userId) {logger.info(学生{}成绩是....,userId);return null;} }根据接口隔离原则的示例类图
http://www.w-s-a.com/news/622337/

相关文章:

  • 网站直播间 是怎么做的唐山论坛建站模板
  • 深圳洲聚网站建设wordpress 泛解析
  • 五金东莞网站建设技术支持wordpress 添加模板
  • 网站申请专利春节网页设计素材
  • 进网站备案md风格的wordpress主题
  • 如何建站网站十大免费建站app
  • 工作号做文案素材的网站晋城网站设计人
  • 建设部网站官网 施工许可怎样建网站 需要
  • 什么网站都能打开的浏览器同城小程序怎么推广
  • 在电脑上怎么做网站网址seo分析
  • 石家庄做网站网络公司电子商务营销推广
  • 网站开发 前端专做婚礼logo的网站
  • 同创企业网站建设拖拽建设网站源码
  • wordpress调用网站标题网站页面排版
  • 哈尔滨营销网站建设电子商城网站开发要多少钱
  • 免费织梦导航网站模板下载地址自己建站网站
  • 获取网站访客qq号码代码做抽奖网站违法吗
  • 湖南大型网站建设公司排名偷网站源码直接建站
  • 网站建设周期规划北京网站设计必看刻
  • 如何做自己的在线作品网站深圳网站设计公司的
  • 网站开发外包公司wordpress最简单模板
  • 湖南省建设人力资源网站wordpress主机pfthost
  • 淮安软件园哪家做网站各网站特点
  • 网站长尾关键词排名软件重庆荣昌网站建设
  • 建个商城网站多少钱茂名专业网站建设
  • 开通公司网站免费的网站app下载
  • 跨境电商网站模板wordpress壁纸
  • 国内做网站网站代理电子商务网站建设与维护概述
  • 如何做地方网站推广沈阳网势科技有限公司
  • 哈尔滨网站优化技术涵江网站建设