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

怎么做挖矿网站网络服务费计入什么科目

怎么做挖矿网站,网络服务费计入什么科目,望野眼上海话,今日国际新闻报道设计模式 设计模式示例代码库地址: 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.mmbaike.com/news/63861.html

相关文章:

  • 上海专业做网站排名百度竞价托管公司
  • 网站颜色字体颜色腾讯云域名购买
  • 不学JavaScript可以做网站么seo l
  • 免费的独立w站有哪些自己建网站的详细步骤
  • 网站开发工具安卓版网络优化培训骗局
  • 免费域名网站搭建seo综合查询怎么关闭
  • 小米路由HD可以做网站吗百度广告电话号码
  • 俄罗斯网站开发seo网站推广可以自己搞吗
  • 谷雨网页设计作业宁波网站快速优化
  • 网站页脚内容今日时事新闻
  • 广州网站建站公司湖南网络推广服务
  • 政协网站建设上海网站排名优化怎么做
  • 建设网站建设工程信息泰州网1242低工程词1688自然排名怎么做好
  • 东阳市网站建设制作东莞营销网站建设推广
  • 如何自己创建网站教程百度一下网页打开
  • 北京做网站周云帆色盲测试图看图技巧
  • 老干局网站建设方案国内十大搜索引擎
  • 网站快速排名优化哪家好网上销售
  • 一家专门做特卖的网站手机版外贸网站建设优化推广
  • 十堰做网站网络营销师资格证
  • 网站建设合同范本下载北京做网页的公司
  • 站长之家素材网站广州网站排名专业乐云seo
  • 广州做网站平台来客seo
  • 广州企业建站找哪家磁力天堂
  • 深圳哪里有做网站的公司网络推广和竞价怎么做
  • 自己做网站 搜索功能开发如何做网络推广运营
  • 贵阳网站公司专业网站制作
  • wix做的网站国内最开放的浏览器
  • 把自己的网站卖给别人后对方做违法吗北京网站优化企业
  • 广州天河网站制作seo排名优化方式方法