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

商务网站建设实验记录东莞市住建局官网

商务网站建设实验记录,东莞市住建局官网,做网站设计的网站,网站建设需求问卷文章目录 一、定义#xff1a;开闭原则二、模拟场景#xff1a;开闭原则2.0 工程结构2.1 定义面积计算接口2.2 面积计算实现类 三、违背方案#xff1a;开闭原则四、改善代码#xff1a;开闭原则4.1 扩展继承4.2 单元测试 一、定义#xff1a;开闭原则 开闭原则#xff… 文章目录 一、定义开闭原则二、模拟场景开闭原则2.0 工程结构2.1 定义面积计算接口2.2 面积计算实现类 三、违背方案开闭原则四、改善代码开闭原则4.1 扩展继承4.2 单元测试 一、定义开闭原则 开闭原则Open-Close PrincipleOCP 规定软件中的对象、类、模块和函数对扩展应该是开放的但对于修改是封闭的。这意味着应该用抽象定义结构用具体实现扩展细节以此确保软件系统开发和维护过程的可靠性。 开闭原则的核心思想也可以理解为 面向抽象编程。 二、模拟场景开闭原则 对于外部的调用方来说只要能体现出面向抽象编程定义出接口并实现其方法即不修改原有方法体只通过继承方式进行扩展都可以体现出开闭原则。计算三种形状的面积如长方形、三角形、圆形。它们的类中已经按照固定的公式实现其中圆形面积公式中 π 3.14。 但后续由于 π 值取的精度对于某些场景是不足的需要扩展。 2.0 工程结构 design-1.1-1 |——src|——main|--java|--com.lino.design|--impl| |--CalculationArea.java| |--CalculationAreaExt.java|--ICalculationArea.java|——test|--java|--com.lino.design.test|--ApiTest.java2.1 定义面积计算接口 ICalculationArea.java package com.lino.design;/*** description: 面积计算接口*/ public interface ICalculationArea {/*** 计算面积长方形** param x 长* param y 宽* return 面积*/double rectangle(double x, double y);/*** 计算面积三角形* 海伦公式S√[p(p-a)(p-b)(p-c)] 其中p(abc)/2** param x 边长x* param y 边长y* param z 边长z* return 面积*/double triangle(double x, double y, double z);/*** 计算面积圆形* 圆面积公式Sπr²** param r 半径* return 面积*/double circular(double r); }长方形面积长*宽。三角形面积使用海伦公式S√[p(p-a)(p-b)(p-c)]其中 p(abc)/2。圆形面积Sπr² 2.2 面积计算实现类 CalculationArea.java package com.lino.design.impl;import com.lino.design.ICalculationArea;/*** description: 面积计算实现*/ public class CalculationArea implements ICalculationArea {private final static double π 3.14D;Overridepublic double rectangle(double x, double y) {return x * y;}Overridepublic double triangle(double x, double y, double z) {double p (x y z) / 2;return Math.sqrt((p - x) * (p - y) * (p - z));}Overridepublic double circular(double r) {return π * r * r;} }实现类。在实现类中分别实现三种类型的面积计算长方形(rectangle)、三角形(triangle)、圆形(circular)。 其中圆形面积的 π 值取的是 3.14D这也是要扩展精度的方法和体现开闭原则的地方。 三、违背方案开闭原则 如果不考虑开闭原则也不思考这种方法在整个工程服务中的使用情况那么直接修改 π 值就可以了。 但这样做就会破坏整个工程服务的稳定性也会造成一些风险。例如用原来精度的 π 值计算出的圆形面积本可以满足需求但是因为精度加长破坏了原有精度下的稳定性。 CalculationArea.java package com.lino.design.impl;import com.lino.design.ICalculationArea;/*** description: 面积计算实现*/ public class CalculationArea implements ICalculationArea {private final static double π 3.141592653D;Overridepublic double rectangle(double x, double y) {return x * y;}Overridepublic double triangle(double x, double y, double z) {double p (x y z) / 2;return Math.sqrt((p - x) * (p - y) * (p - z));}Overridepublic double circular(double r) {return π * r * r;} }四、改善代码开闭原则 4.1 扩展继承 按照开闭原则方式实现并不复杂它的主要目的是不能因为个例需求的变化而改变预定的实现类除非预定的实现类有错误。实现过程是继承父类扩展需要的方法同时可以保留原有的方法新增自己需要的方法。 CalculationAreaExt.java package com.lino.design.impl;/*** description: 扩展继承实现自己的需求*/ public class CalculationAreaExt extends CalculationArea {private final static double π 3.141592653D;Overridepublic double circular(double r) {return π * r * r;} }扩展后的方法已经把求圆形面积的精度增长需要使用此方法的用户可以直接调用。而其他方法如长方形面积、三角形面积则可以继续使用。 4.2 单元测试 ApiTest.java Test public void test_calculationAreaExt() {ICalculationArea area new CalculationAreaExt();double circular area.circular(10);System.out.println(circular); }测试结果 314.1592653
http://www.tj-hxxt.cn/news/131422.html

相关文章:

  • 网站tdk优化文档廊坊seo软件
  • 焦作公司做网站网站页面设计图片素材
  • 用商标做网站名字启信宝企业查询官网
  • 怎么在百度搜索自己的网站中国风网站怎么配色
  • 怎么给自己的网站做扫描码中国住房和城乡建设部网站
  • 企业网站建设存在的问题高平企业网站
  • 网站设计的五大要素海口网站建设美丽
  • 合肥建设学校网站安阳网站建设哪家专业
  • 阿里巴巴网官方网站怀化网站排名优化
  • 温州网站推广驭明方太官方网站的建设情况
  • 飞猪旅游的网站建设策划专业网站
  • icp网站信息企业网站设计原则
  • 手机网站排名天猫出售
  • 网站的域名都有哪些问题互联网电商平台
  • 自网站EXCel数据导入怎么做品牌型网站建设特点
  • 网页制作与网站建设》在线作业 答案什么人适合学ui设计
  • 嘉兴建设教育网站成都官方网站建设
  • 商城网站源码下载网站的后台登录注册怎么做
  • 邢台做移动网站的公司企业品牌推广公司哪家好
  • 网站title怎么修改网站上动态图片怎么做
  • 在哪买网站链接公司网站布局
  • 无锡专业做网站的wordpress添加自定义模板
  • 网站和网页的区别在于网站建设是属现代服务吗
  • 常熟企业建设网站公司网站推广怎么样做
  • 实验中心网站建设做雷达干扰的网站
  • 整形网站专题素材网页app制作教程
  • 网页设计网站模板素材花店网站建设课程设计论文
  • 福州仓山区网站建设东莞做网站企业
  • 网站开发前端兼职通讯数码网站
  • 苏州建网站公司选苏州聚尚网络邢台免费发布信息