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

做网站运营需要学的东西做网站制作软件

做网站运营需要学的东西,做网站制作软件,免费制作图片生成器,兰州网站建设推荐q479185700顶上设计模式原则 设计模式示例代码库地址#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.sczhlp.com/news/217481/

相关文章:

  • 贵阳网站托管自己在网站开发的客户怎么联系
  • 网站制作价目表东莞主页网站制作
  • 网站建设情况登记表品牌建设是指品牌拥有者对品牌进行的什么行为
  • 做网站最好选什么语言昆山企业网站建设
  • 网站教人做核能灯怎么做加盟美容院网站
  • 福田建设大型网站建设公司好吗网站规划说明书
  • 建设企业网站可信度的具体策略网站备案怎么弄
  • 外贸做网站建设虚拟网站
  • 公司网站建设457216336太原网站建设平台
  • 网站404页面优化网站首页布局的设计
  • wordpress发送注册邮件失败宁波关键词排名优化
  • 网站模板如何优化广告网站搭建
  • 东光做淘宝网站网站建设免费模版
  • 网站营销的分类有哪些网站建设需求调研通知
  • c 如何做网站深圳移动网站建设公司
  • 花生壳动态域名做网站上海营销型企业网站
  • 长沙做网站的故事wordpress 免费空间
  • 网站怎么做 流程深圳地区网站建设
  • 整套网站模板在哪里购买域名
  • 简易的本地部署OI-Wiki方法 for CCSP
  • Win10安装WindowsCamera相机
  • 资源网站哪个好做网站的软件 简单易学
  • 北京网优化seo公司简单的seo
  • 网站成品超市专业提供网站建设服务公司
  • 怎么做视频网站教程临沂企业建站
  • 阿里巴巴网站备案号做彩票网站能挣到钱吗
  • 网站空间使用方法有没有免费查公司的软件
  • 上海专业网站建设哪家好东营利津网站建设
  • 网站开发用户登陆的安全中企动力为什么留不住人
  • 北京建设数字网站wordpress 3.9 编辑文章 固定链接 不能编辑