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

金科网站建设制作视频用什么app

金科网站建设,制作视频用什么app,wordpress站内短信,做自己的网站流量怎么前言#xff1a;听说有本很牛的关于Java设计模式的书——重学Java设计模式#xff0c;然后买了(*^▽^*) 开始跟着小傅哥学Java设计模式吧#xff0c;本文主要记录笔者的学习笔记和心得。 打卡#xff01;打卡#xff01; 六大设计原则 #xff08;引读#xff1a;这里…    前言听说有本很牛的关于Java设计模式的书——重学Java设计模式然后买了(*^▽^*) 开始跟着小傅哥学Java设计模式吧本文主要记录笔者的学习笔记和心得。 打卡打卡 六大设计原则 引读这里的节奏是先说一下概念定义然后是模拟场景最后是反例、正例。 一、单一职责原则 1、定义 单一职责原则它规定一个类应该只有一个发生变化的原因。 为什么 因为如果开发的一个功能不是一次性的当一个Class类负责超过两个及以上职责时当需求不断迭代、实现类持续扩张就会出现难以维护、不好扩展、测试难度大和上线风险高等问题。 2、模式场景 一个视频网站用户分类的例子 访问用户只能看480P的高清视频有广告普通会员可以看720P的超清视频有广告VIP会员付费的大哥可以看1080P的蓝光视频无广告 3、违背原则方案反例 根据上面的需求直接编码实现一个最简单的基本功能根据不同的用户类型判断用户可以观看的视频类型。 public class VideoUserService {public void serveGrade(String userType){if (VIP用户.equals(userType)){System.out.println(VIP用户视频1080P蓝光);} else if (普通用户.equals(userType)){System.out.println(普通用户视频720P超清);} else if (访客用户.equals(userType)){System.out.println(访客用户视频480P高清);}} } 如上这一个类包含着多个不同的行为多种用户职责如果在这样的类上继续扩展功能就会显得很臃肿。比如再加一个“超级VIP会员”可以超前点播按上面的实现方式只能继续ifelse。这样的代码结构每次迭代新需求的实现都可能会影响到其他逻辑。 4、单一职责原则改善代码正例 视频播放是视频网站的核心功能当完成核心功能的开发后就需要不断地完善用户权限才能更好运营网站。其实就是不断建设用户权益根据不同的用户类型提供差异化服务。 为了满足不断迭代的需求就不能向上面一样把所有职责行为混为一谈而是应该提供一个上层的接口类对不同的差异化用户给出单独的实现类拆分各自的职责。 1定义接口 public interface IVideoUserService {// 视频清晰级别480P、720P、1080Pvoid definition();// 广告播放方式无广告、有广告void advertisement(); }定义出上层接口IVideoUserService统一定义需要实现的功能包括视频清晰级别接口definition()、广告播放方式接口advertisement()。然后三种不同类型的用户就可以分别实现自己的服务类做到职责统一。 2实现类 1访问用户只能看480P的高清视频有广告 public class GuestVideoUserService implements IVideoUserService {public void definition() {System.out.println(访客用户视频480P高清);}public void advertisement() {System.out.println(访客用户视频有广告);} } 2普通会员可以看720P的超清视频有广告 public class OrdinaryVideoUserService implements IVideoUserService {public void definition() {System.out.println(普通用户视频720P超清);}public void advertisement() {System.out.println(普通用户视频有广告);}} 3VIP会员付费的大哥可以看1080P的蓝光视频无广告 public class VipVideoUserService implements IVideoUserService {public void definition() {System.out.println(VIP用户视频1080P蓝光);}public void advertisement() {System.out.println(VIP用户视频无广告);}}5、易扩展示例 假设有新的需求如下7天试用VIP会员可以试用看1080P的蓝光视频但是有广告。 // 7天试用VIP用户 public class TryVipVideoUserService implements IVideoUserService {public void definition() {System.out.println(7天试用VIP用户视频1080P蓝光);}public void advertisement() {System.out.println(7天试用VIP用户视频有广告);}}在项目开发的过程中尽可能保证接口的定义、类的实现以及方法开发保持单一职责对项目后期的迭代和维护是很好的。 二、开闭原则 1、定义 在面向对象编程领域中开闭原则规定软件的对象、类、模块和函数对扩展应该是开放的但是对于修改是封闭的。 这就意味着应该用抽象定义结构用具体实现扩展细节以此确保软件系统开发和维护过程的可靠性。 开闭原则的核心思想可以理解为面向抽象编程。 小结对扩展是开放的对修改是封闭的。 2、模拟场景 对于外部调用方只要能体现出面向抽象编程定义出接口并实现其方法即不修改原有方法体只通过继承方式进行扩展都可以体现出开闭原则。 1场景案例 计算三种形状的面积长方形、三角形圆形。其中圆的π3.14但后续由于π的取值精度不适用于后面的场景需要再扩展接下来模拟这个场景来体现开闭原则。 2定义接口 public interface ICalculationArea {/*** 计算面积长方形** param x 长* param y 宽* return 面积*/double rectangle(double x, double y);/*** 计算面积三角形* param x 边长x* param y 边长y* param z 边长z* return 面积** 海伦公式S√[p(p-a)(p-b)(p-c)] 其中p(abc)/2*/double triangle(double x, double y, double z);/*** 计算面积圆形* param r 半径* return 面积** 圆面积公式Sπr²*/double circular(double r);} 3实现类 特别地这里的π取3.14D这也是要扩展精度的方法和体现开闭原则的地方。 public class CalculationArea implements ICalculationArea {private final static double π 3.14D;public double rectangle(double x, double y) {return x * y;}public double triangle(double x, double y, double z) {double p (x y z) / 2;return Math.sqrt(p * (p - x) * (p - y) * (p - z));}public double circular(double r) {return π * r * r;}} 3、违背原则方案 如果不考虑开闭原则也不考虑整个工程服务的使用情况直接改π值。 private final static double π 3.141592653D;4、开闭原则改善代码 更好的做法按照开闭原则。继承父类扩展需要的方法同保留原有的方法新增自己需要的方法。它的主要目的是不能因为个例需求的变化二改变预定的实现类。 public class CalculationAreaExt extends CalculationArea {private final static double π 3.141592653D;Overridepublic double circular(double r) {return π * r * r;}} 扩展后的方法满足了π精度变化的需求需要使用此方法的用户可以直接调用。而其他的方法也不影响继续使用。 三、里氏替换原则 1、定义 2、模拟场景 3、违背原则方案 4、里氏替换原则改善代码 四、迪米特法则原则 五、接口隔离原则 六、依赖倒置原则
http://www.w-s-a.com/news/535327/

相关文章:

  • 浦口区网站建设售后服务建设一个网站多少钱
  • 做个小网站大概多少钱广州h5网站
  • 360免费建站视频wordpress标签显示图片
  • 创建简易个人网站国外做网站被动收入
  • 轻定制网站建设网页培训哪个机构好
  • 青岛海诚互联做网站好吗计算机软件开发培训机构
  • 德钦网站建设如何在网站上做用工登记
  • 创意品牌网站云服务
  • 个人备案网站可以做商城展示如何制作网页二维码
  • 网站建设php教程视频百度seo 站长工具
  • 外包小程序两个相同的网站对做优化有帮助
  • 网站备案主体修改wordpress 导航图片
  • 怎么建设网站数据库用vs代码做网站
  • 运营企业网站怎么赚钱动漫制作专业概念
  • 宜春网站建设推广网络推广工作好干吗
  • 网站程序0day平顶山市做网站
  • 企业网站名称怎么写哔哩哔哩网页版官网在线观看
  • 直播网站建设书籍阿里巴巴网站建设销售
  • 肇庆企业自助建站系统郴州网站建设解决方案
  • 长沙专业做网站排名游戏开发大亨内购破解版
  • 网站推广适合女生做吗网站如何开启gzip压缩
  • 做外单阿里的网站建站平台那个好
  • 全国性质的网站开发公司关于网站开发的请示
  • 齐齐哈尔住房和城乡建设局网站生物科技公司网站模板
  • 中国建设协会官方网站前端培训的机构
  • 网站建设套餐是什么北京孤儿院做义工网站
  • 网站如何做微信支付链接做暧小视频xo免费网站
  • SEO案例网站建设重庆建站模板平台
  • 上海seo网站推广公司wordpress 小米商城主题
  • 搭建服务器做网站什么网站可以请人做软件