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

怎么做挖矿网站优化网站的方法

怎么做挖矿网站,优化网站的方法,秦皇岛今日海港区新闻,wordpress的简单应用设计模式 设计模式示例代码库地址: https://gitee.com/Jasonpupil/designPatterns 设计模式原则 单一职责原则(SPS): 又称单一功能原则,面向对象五个基本原则(SOLID)之一 原则定义&#xf…

设计模式

设计模式示例代码库地址:

https://gitee.com/Jasonpupil/designPatterns

设计模式原则

单一职责原则(SPS):

  • 又称单一功能原则,面向对象五个基本原则(SOLID)之一

  • 原则定义:一个类应该只有一个发生变化的原因

  • 使用if else进行判断实现不好维护

  • 模式场景:视频网站,存在访客用户(视频480p高清,并有广告)普通用户(视频720p超清,并有广告)VIP用户(视频1080p蓝光,没有广告)

    • if else处理方式示例代码:
     /*** @Description: 视频用户服务* @Author: pupil* @Date: 2024/06/21 下午 8:12*/
    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高清");}}
    }/*** @description:测试验证* @author: pupil* @data: 2024/06/21 下午 7:57*/
    public class ApiTest {public static void main(String[] args) {VideoUserService service = new VideoUserService();service.serveGrade("VIP用户");service.serveGrade("普通用户");service.serveGrade("访客用户");}
    }
    

    结果:

    请添加图片描述

    • 根据单一职责原则处理方式示例代码:
    /*** @Description: 视频用户服务接口* @Author: pupil* @Date: 2024/06/21 下午 8:17*/
    public interface IVideoUserService {void definition();void advertisement();
    }/*** @Description: 访客用户* @Author: pupil* @Date: 2024/06/21 下午 8:18*/
    public class GuestVideoUserServiceImpl implements IVideoUserService {@Overridepublic void definition() {System.out.println("访客用户,视频480p超清");}@Overridepublic void advertisement() {System.out.println("访客用户,视频有广告");}
    }/*** @Description: 普通用户* @Author: pupil* @Date: 2024/06/21 下午 8:19*/
    public class OrdinaryVideoUserServiceImpl implements IVideoUserService {@Overridepublic void definition() {System.out.println("普通用户,视频720p超清");}@Overridepublic void advertisement() {System.out.println("普通用户,视频有广告");}
    }/*** @Description: VIP用户* @Author: pupil* @Date: 2024/06/21 下午 8:20*/
    public class VipVideoUserServiceImpl implements IVideoUserService {@Overridepublic void definition() {System.out.println("VIP用户,视频1080p蓝光");}@Overridepublic void advertisement() {System.out.println("VIP会员,视频无广告");}
    }/*** @Description: 测试验证* @Author: pupil* @Date: 2024/06/21 下午 8:24*/
    public class ApiTest {public static void main(String[] args) {IVideoUserService guest = new GuestVideoUserServiceImpl();guest.definition();guest.advertisement();System.out.println("=================================");IVideoUserService ordinary= new OrdinaryVideoUserServiceImpl();ordinary.definition();ordinary.advertisement();System.out.println("=================================");IVideoUserService vip = new VipVideoUserServiceImpl();vip.definition();vip.advertisement();}
    }
    

    结果:

    请添加图片描述

根据单一职责原则的示例类图:

请添加图片描述

接口和类是实现关系

开闭原则

  • 开闭原则规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”

  • 让类依赖于固定的抽象,所以对修改是封闭的

  • 而通过面向对象的继承和多态机制,可以实现对抽象体的继承,通过覆写其方法来改变固有行为,实现新的扩展方法,所以对于扩展就是开放的

  • 提高复用性:

    • 通过抽象提高灵活性:使用抽象类或接口定义功能,使具体实现可以灵活替换。这种方法允许开发者在不改变现有代码的基础上增加新功能。
    • 减少代码重复:将通用的行为放在基类或接口中,具体实现类通过继承和实现来扩展这些行为。这减少了重复代码的出现,使代码更易于维护和复用。
  • 提高维护性:

    • 降低风险:增加新功能时无需修改现有代码,减少引入新错误的风险,增强系统稳定性
    • 独立测试:模块更加独立,便于单独测试和调试。接口测试确保所有实现类符合预期行为,只需测试新代码
    • 职责单一:各模块职责明确,代码结构清晰,便于理解和修改,开发人员能快速找到扩展点。
  • 使用场景:支付方式,进行付款时存在不同的付款方式,在已有的微信支付的方式上新添加根据金额自动选择微信余额支付还是绑定的银行卡支付

    示例代码:

    /*** @Description: 支付处理接口* @Author: pupil* @Date: 2024/06/22 下午 9:25*/
    public interface PaymentProcessor {void processPayment(double amount);
    }/*** @Description: 微信支付* @Author: pupil* @Date: 2024/06/22 下午 9:49*/
    public class WeChatProcessor implements PaymentProcessor {@Overridepublic void processPayment(double amount) {System.out.println("使用微信余额支付");}
    }/*** @Description: 扩展微信支付,添加从银行卡扣钱* @Author: pupil* @Date: 2024/06/22 下午 9:33*/
    public class BankCardProcessor extends WeChatProcessor {/*** 当amount大于100时用银行卡支付* @param amount*/@Overridepublic void processPayment(double amount) {if (amount<=100){System.out.println("使用微信余额支付");}else {System.out.println("使用银行卡支付");}}}/*** @Description: PayPal支付实现* @Author: pupil* @Date: 2024/06/22 下午 9:49*/
    public class PayPalProcessor implements PaymentProcessor {@Overridepublic void processPayment(double amount) {System.out.println("使用PayPal支付");}
    }/*** @Description: 测试验证* @Author: pupil* @Date: 2024/06/21 下午 8:13*/
    public class ApiTest {@Testpublic void test_BankCardProcessor(){PaymentProcessor processor = new BankCardProcessor();processor.processPayment(150);processor.processPayment(90);}@Testpublic void test_WeChatProcessor(){PaymentProcessor processor = new WeChatProcessor();processor.processPayment(150);}@Testpublic void test_PayPalProcessor(){PaymentProcessor processor = new PayPalProcessor();processor.processPayment(150);}}
    

    结果:

    • 微信支付类的扩展类:在这里插入图片描述

    • 微信支付类:在这里插入图片描述

根据开闭原则的示例类图:

请添加图片描述

微信支付类和PayPal支付类与支付接口是实现关系

微信支付类与微信支付扩展类是泛化关系

其他原则待完成…

http://www.hkea.cn/news/208087/

相关文章:

  • 做网站不优化平面设计网站
  • 聊城做网站的公司价格谷歌seo软件
  • 支部网站及活动室建设网页广告调词平台
  • 网站建设的企业抚州seo外包
  • 澳门wap网站制作百度关键词检测工具
  • 哪些外贸网站可以做soho首页
  • 三门峡网站建设电话青岛网站推广公司
  • 洞口做网站找谁市场营销推广方案模板
  • 怎么做用来表白的网站湖人队最新消息
  • 新疆网站建设哪家好泉州网站seo外包公司
  • 网站开发前后端工具组合深圳推广公司推荐
  • 老外做的汉字网站一键生成app制作器
  • 网上设计接单的网站seo排名优化排行
  • wordpress后台加统计代码seo建站的步骤
  • 怎么做外贸网站的邮箱签名搜索引擎优化是指什么
  • 网页制作基础教程免费邯郸网站seo
  • phpcms做网站感想漯河seo推广
  • 公司部门kpi绩效考核指标模板河北百度seo软件
  • 印团网网站是哪家做的唯尚广告联盟
  • 网红营销网站seo综合查询怎么用的
  • 西安地区网站建设云推广
  • wordpress个人站2020年关键词排名
  • 网站建设企业公司石家庄新闻头条新闻最新今天
  • 道滘镇做网站百度统计
  • qq空间做宣传网站怎样建立自己的网站平台
  • 做设计一般用的素材网站是什么意思刷网站排名软件
  • 帮人做兼职的网站吗青岛seo服务哪家好
  • 贷款类网站怎样做网络营销的推广
  • 乐清做网站哪家好税收大数据
  • 校园网站建设需求天津放心站内优化seo