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

ssh框架做的网站问题做网站赚什么钱

ssh框架做的网站问题,做网站赚什么钱,网页源代码里哪个是视频链接,临海大经建设集团网站朝着理想坚实迈进先前我们讨论了单一责任原则。 关于实体原则首字母缩写#xff0c; 打开/关闭原则是该行中的第二个原则。 “软件实体#xff08;类#xff0c;模块#xff0c;功能等#xff09;应打开以进行扩展#xff0c;但应关闭以进行修改” 通过采用该原理… 朝着理想坚实迈进 先前我们讨论了单一责任原则。 关于实体原则首字母缩写 打开/关闭原则是该行中的第二个原则。 “软件实体类模块功能等应打开以进行扩展但应关闭以进行修改” 通过采用该原理目标是在不修改其源代码的情况下扩展模块的行为。 想象一下对我们的一种产品应用折扣的情况。 折扣服务将应用指定的折扣并返还​​折扣价。 目前我们的系统只有一种折扣适用于所有成年人。 package com.gkatzioura.solid.ocp;import java.math.BigDecimal; import java.math.RoundingMode;public class Discount {public BigDecimal apply(BigDecimal price) {BigDecimal percent new BigDecimal(0.10);BigDecimal discount price.multiply(percent);return price.subtract(discount.setScale(2, RoundingMode.HALF_UP));} } 折扣服务应将此折扣应用于给出的价格。 package com.gkatzioura.solid.ocp;import java.math.BigDecimal;public class DiscountService {public BigDecimal applyDiscounts(BigDecimal price,Discount discount) {BigDecimal discountPrice price.add(BigDecimal.ZERO);discountPrice discount.apply(discountPrice);return discountPrice;} } 但是我们公司希望为老年人提供折扣因此我们有老年人折扣。 package com.gkatzioura.solid.ocp;import java.math.BigDecimal; import java.math.RoundingMode;public class SeniorDiscount {public BigDecimal apply(BigDecimal price) {BigDecimal percent new BigDecimal(0.20);BigDecimal discount price.multiply(percent);return price.subtract(discount.setScale(2, RoundingMode.HALF_UP));} } 折扣服务使事情变得有些复杂因为该服务必须同时应用成人折扣和老年人折扣。 package com.gkatzioura.solid.ocp;import java.math.BigDecimal;public class DiscountService {public BigDecimal applyDiscounts(BigDecimal price,Discount discount) {BigDecimal discountPrice price.add(BigDecimal.ZERO);discountPrice discount.apply(discountPrice);return discountPrice;}public BigDecimal applySeniorDiscount(BigDecimal price,SeniorDiscount discount) {BigDecimal discountPrice price.add(BigDecimal.ZERO);discountPrice discount.apply(discountPrice);return discountPrice;}} 通过这样做我们修改了折扣服务源代码以扩展其行为。 同样对于销售部门可能提出的每一种不同的折扣折扣服务也会获得额外的方法。 为了遵循开放/封闭原则我们将创建一个折扣界面。 package com.gkatzioura.solid.ocp;import java.math.BigDecimal;public interface Discount {BigDecimal apply(BigDecimal price); } 默认折扣将重命名为AdultDiscount并实现折扣界面。 package com.gkatzioura.solid.ocp;import java.math.BigDecimal; import java.math.RoundingMode;public class AdultDiscount implements Discount {Overridepublic BigDecimal apply(BigDecimal price) {BigDecimal percent new BigDecimal(0.10);BigDecimal discount price.multiply(percent);return price.subtract(discount.setScale(2, RoundingMode.HALF_UP));} } SeniorDiscount也将实现Discount接口。 package com.gkatzioura.solid.ocp;import java.math.BigDecimal; import java.math.RoundingMode;public class SeniorDiscount implements Discount {Overridepublic BigDecimal apply(BigDecimal price) {BigDecimal percent new BigDecimal(0.20);BigDecimal discount price.multiply(percent);return price.subtract(discount.setScale(2, RoundingMode.HALF_UP));} } 最后但并非最不重要的一点是我们将对DiscountService进行重构以便基于Discount接口应用折扣。 package com.gkatzioura.solid.ocp;import java.math.BigDecimal;public class DiscountService {public BigDecimal applyDiscounts(BigDecimal price,Discount[] discounts) {BigDecimal discountPrice price.add(BigDecimal.ZERO);for(Discount discount:discounts) {discountPrice discount.apply(discountPrice);}return discountPrice;} } 通过这种方式折扣服务将能够应用不同的折扣而无需更改其源代码。 可以对折扣应用相同的原理。 假设我们希望有一个基本折扣可以在应用折扣时额外应用。 package com.gkatzioura.solid.ocp;import java.math.BigDecimal; import java.math.RoundingMode;public abstract class BasicDiscount implements Discount {Overridepublic BigDecimal apply(BigDecimal price) {BigDecimal percent new BigDecimal(0.01);BigDecimal discount price.multiply(percent);return price.subtract(discount.setScale(2, RoundingMode.HALF_UP));} } 通过扩展BasicDiscount类我们可以在BasicDiscount的行为上获得更多折扣并且还可以在不修改BasicDiscount源代码的情况下扩展此行为。 您可以在github上找到源代码。 下一个原理是liskov替换原理。 另外我还编写了备忘单其中包含有关扎实原则的摘要。 在链接中注册以接收它。 翻译自: https://www.javacodegeeks.com/2018/02/solid-principles-open-closed-principle.html朝着理想坚实迈进
http://www.huolong8.cn/news/54123/

相关文章:

  • 东莞专业微网站建设如何制作推广网站
  • 哈尔滨营销型网站建设公司淘宝网的网站建设
  • 遵义做网站 0852t微信小程序开发教程pdf
  • 园林景观 网站建设怎么让网站被百度搜到
  • 网站开发流程到上线公司官网建设多少钱
  • 烟台门户网站外贸企业网站开发
  • 哪些网站可以做平面设计挣钱设计图房子装修平面图
  • 旅游网站论文广州市几个区
  • 网站开发外包平台软件开发需要具备什么条件
  • 360免费自助建站做网站宁波有什么的网络公司
  • 网站建设共享ip如何自己做框架开发网站
  • 网站开发案例代码sns网站建设
  • 如何设置网站会员网站切图是指什么
  • 班级网站空间建设取得效果云南建设网站
  • 济南做网站哪家公司好unity可以做网站吗
  • 自适应网站建设案例网站建设说课获奖视频
  • 惠州网络公司网站建设wordpress模版怎么弄
  • 海洋公园网站建设方案商业网站建设者
  • 建设一个网站需要做哪些工作绵阳模板网站
  • 企业网站缺点免费行情软件app网站mnw直
  • 百度网站排名优化价格wordpress升级快速
  • 上海网站建设报价单游戏网站做关键字
  • 卫生网站建设方案制作网站要多少费用
  • 泸州免费做网站富阳网站建设公司
  • 中文wordpress网站php连接wordpress数据库
  • 网站做快速排名是怎么做的呢建设银行公积金预约网站
  • 赣州建设公司网站省级网站建设标准
  • 备份wordpress网站东莞网站优化快速排名
  • 福建省网站建设公司德阳网站建设ghxhwl
  • 做网站的 深圳wordpress能做出