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

有了空间和域名 网站容易做吗长春市快速建站网站

有了空间和域名 网站容易做吗,长春市快速建站网站,网站运营与网络营销,大良网站建设公司目录1 单一职责原则介绍2 单一职责原则应用1 单一职责原则介绍 单一职责#xff08;Simple Responsibility Pinciple#xff0c;SRP#xff09;是指不要存在多于一个导致类变更的原因。假设我们有一个 Class 负责两个职责#xff0c;一旦发生需求变更#xff0c;修改其中… 目录1 单一职责原则介绍2 单一职责原则应用1 单一职责原则介绍 单一职责Simple Responsibility PincipleSRP是指不要存在多于一个导致类变更的原因。假设我们有一个 Class 负责两个职责一旦发生需求变更修改其中一个职责的逻辑代码有可能会导致另一个职责的功能发生故障。这样一来这个 Class 存在两个导致类变更的原因。如何解决这个问题呢 我们就要给两个职责分别用两个 Class 来实现进行解耦。后期需求变更维护互不影响。这样的设计可以降低类的复杂度提高类的可读性提高系统的可维护性降低变更引起的风险。总体来说就是一个 Class/Interface/Method 只负责一项职责。 2 单一职责原则应用 接下来我们来看代码实例还是用课程举例我们的课程有直播课和录播课。直播课不能快进和快退录播可以可以任意的反复观看功能职责不一样。还是先创建一个 Course 类 public class Course {public void study(String courseName){if(直播课.equals(courseName)){System.out.println(不能快进);}else{System.out.println(可以任意的来回播放);}}}看代码调用 public static void main(String[] args) {Course course new Course();course.study(直播课);course.study(录播课);} 从上面代码来看Course 类承担了两种处理逻辑。假如现在要对课程进行加密那么直播课和录播课的加密逻辑都不一样必须要修改代码。而修改代码逻辑势必会相互影响容易造成不可控的风险。我们对职责进行分离解耦来看代码分别创建两个类 ReplayCourse 和 LiveCourse LiveCourse 类 public class LiveCourse {public void study(String courseName){System.out.println(courseName 不能快进看);}}ReplayCourse 类 public class ReplayCourse {public void study(String courseName){System.out.println(可以任意的来回播放);}} 调用代码 public static void main(String[] args) {LiveCourse liveCourse new LiveCourse();liveCourse.study(直播课);ReplayCourse replayCourse new ReplayCourse();replayCourse.study(录播课);}业务继续发展课程要做权限。没有付费的学员可以获取课程基本信息已经付费的学员可以获得视频流即学习权限。那么对于控制课程层面上至少有两个职责。我们可以把展示职责和管理职责分离开来都实现同一个抽象依赖。设计一个顶层接口,创建 ICourse 接口 public interface ICourse {//获得基本信息String getCourseName();//获得视频流byte[] getCourseVideo();//学习课程void studyCourse();//退款void refundCourse();}我们可以把这个接口拆成两个接口创建一个接口 ICourseInfo 和 ICourseManager ICourseInfo 接口 public interface ICourseInfo {String getCourseName();byte[] getCourseVideo();}ICourseManager 接口 public interface ICourseManager {void studyCourse();void refundCourse();} 来看一下类图 下面我们来看一下方法层面的单一职责设计。有时候我们为了偷懒通常会把一个方法写成下面这样 private void modifyUserInfo(String userName,String address){userName Oldlu;address Shandong;}还可能写成这样 private void modifyUserInfo(String userName,String... fileds){userName Oldlu; // address Shandong;}private void modifyUserInfo(String userName,String address,boolean bool){if(bool){}else{}userName Oldlu;address Shandong;}显然上面的 modifyUserInfo()方法中都承担了多个职责既可以修改 userName,也可以修改 address甚至更多明显不符合单一职责。那么我们做如下修改把这个方法拆成两个 private void modifyUserName(String userName){userName Oldlu;}private void modifyAddress(String address){address Shandong;}这修改之后开发起来简单维护起来也容易。但是我们在实际开发中会项目依赖组合聚合这些关系还有还有项目的规模周期技术人员的水平对进度的把控很多类都不符合单一职责。 但是我们在编写代码的过程尽可能地让接口和方法保持单一职责对我们项目后期的维护是有很大帮助的。
http://www.dnsts.com.cn/news/86320.html

相关文章:

  • 网站模板下载模板下载安装贪玩网页游戏大全
  • 淘宝客网站怎么做推广计划彩票网站怎么做赚钱吗
  • 找人做方案的网站seo推广网站有哪
  • 京东网站建设哪家好色盲怎么治疗
  • 做内贸的电子商务网站典型有网站如何做宣传
  • 论文网站建设湖南郴州
  • 淘宝客网站做百度推广网站建立项目步骤
  • 做视频网站用什么开发工作证明怎么弄
  • 企业网站改自适应高端建筑物图片
  • 学做淘宝店的网站吗军事新闻最新消息今天
  • 榆林建设银行的网站成都网站设计排名的公司价格
  • 搭建微擎网站后怎么做微官网芜湖市建设工程质监站网站
  • 网站的运营推广方案公众号排版设计
  • 计算机网站开发wordpress my visitors
  • 深圳深圳做网站福州定制网站建设
  • 做网站放太多视频汕头百姓网二手房出售
  • 广州网站建设c2cwordpress 4.2
  • 高新公司网站建设电话重庆建设工程信息网官网安全员证书查询
  • 汶上网站开发2018网站流量怎么做
  • linux如何架设网站好看的网页源码
  • 手机被网站安装软件有哪些内容网站素材模板 站长
  • 长沙做企业网站推广的公司用dw制作公司网站
  • 个人博客网站建设业务网页设计:编程学习网站素材
  • 网站代运营合同模板wordpress安装后应该删掉那些文件
  • 潍坊智能建站模板百度seo网站优化服务
  • 中山做网站企业购物网站页面设计思路
  • 制作汽车网站wordpress怎么去掉
  • 太原制作网站的公司外包做的网站
  • 许昌网站开发网络安全公司有哪些
  • 做网站怎么收集资料手机如何制作网站和网页