首页 > 其他分享 >设计模式与非设计模式什么情况下使用

设计模式与非设计模式什么情况下使用

时间:2024-10-01 10:23:18浏览次数:8  
标签:功能 支付 微信 耦合度 与非 使用 设计模式 比如

一、特点

        1、设计模式:

                a、经验总结:

                        设计模式是前人根据经验总结出来的,使用设计模式,就相当于是站在了前人的肩膀上。

                b、可读性‌:

                        设计模式的程序容易读懂,但是是针对熟悉设计模式的人。

                c、拓展性:

                        设计模式满足系统设计的开闭原则‌。

                d、降低耦合度:

                        设计模式能降低系统中类与类之间的耦合度‌。

                e、重用度:

                        设计模式能提高代码的重用度‌。

                f、现成的解决方案:

                        设计模式为常见问题提供现成的解决方案‌。

        2、非设计模式:

                a、灵活度高:

                        非设计模式是根据开发员自身决定的。

                b、可读性:

                        程序只要做好注释,无论什么级别都可以读懂。

                c、简单性:

                        直接就可以书写,不需要考虑拓展及优化。

二、针对的场景

        1、设计模式

                a、同一个功能,可能会使用N家:

                        比如oss文件上传功能,可以使用阿里云、腾讯云、华为云等。

                b、封装一个产品、规则等:

                        比如操作数据库功能,因为数据库有MySQL、db2、SQL server、oracle等。

        2、非设计模式

                a、就是简单的功能:

                        比如微信支付功能,因为明确了需要采用微信支付,所以这种不适合采用设计模式。

                b、技术能力有限

                        比如根本没有用过设计模式或是没有了解过等。

三、实例说明

        1、设计模式

                微信支付开发-后台功能总结

        2、非设计模式

                thinkphp6调用微信商户支付-非工厂模式代码开发

标签:功能,支付,微信,耦合度,与非,使用,设计模式,比如
From: https://blog.csdn.net/m0_63603104/article/details/142655900

相关文章

  • 带I2C的LCD12864使用经验总结和例程(RSCG12864B)
    搬运说明:本文是本人在24年4月CSDN上发布的,现全文搬运至博客园,图片水印暂未去除,并删除原CSDN博文。本文简要说明了带I2C协议的LCD12864屏幕的使用经验与教训,特别是厂家说明书说法有误或未提及的内容。文末也提供一个本人编写的STC89C52单片机读取SHT30温湿度传感器并显示在LCD1286......
  • 日期的使用(二)
    JDK8之后的日期,时间LocalDate,LocalTime,LocalDateTime它们获取对象方案publicstaticXxxxnow():获取系统当前时间对应的对象publicstaticXxxof(…):获取指定时间的对象LocalDate代表年月日星期LocalTime代表时分秒纳秒LocalDateTime代表月日星期,时分秒纳......
  • linux内核双向链表使用list klist
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、list和klist是什么?二、代码示例1.list2.klist总结前言提示:这里可以添加本文要记录的大概内容:linux内核中大量使用了链表数据结构来存储各种数据,比如device和driver使用klist存储,下......
  • [Uninstall] 软件彻底卸载工具的下载及详细安装使用过程(附有下载文件)
    一般软件安装的有问题,或者想重新安装其他版本就需要将原来的版本删除干净,但常常删不干净,本文分享一个软件彻底卸载工具,完成彻底卸载软件的工作下载链接在文末下载压缩包后解压!!安装路径不要有中文解压后得到UninstallToolv3.6.1文件双击exe文件假设这里要删除Git,则点......
  • [Notepad++] 文本编辑器的下载及详细安装使用过程(附有下载文件)
    程序员常用的文本编辑器Notepad++,用于修改配置文件等下载链接在文末下载压缩包后解压!!安装路径不要有中文解压文件,得到双击exe文件选择简体中文,点击OK点击下一步点击“我接受”更改安装目录,不建议使用C盘,点击下一步点击下一步勾选第一个选项,创建桌面文件,点......
  • 一文教你如何使用双拼输入,一种更省力更快捷的输入方法
    文章目录引言为电脑安装双拼输入法如何练习第一步,背口诀第二步,网站练习第三步,正式使用引言我之前一直使用的是全拼的打字方法,在我长时间从事文字工作后,我发现全拼对于中文而言是个十分效率低下的打字方法,一段文字可能得敲击几十次键盘,写篇万字的文章,有时候敲到最后......
  • Selenium+WebDriver 各浏览器驱动下载与使用
    Selenium+Python之WebDriver驱动下载与使用一、Firefox(火狐)浏览器驱动下载地址:https://github.com/mozilla/geckodriver/releases/下载对应驱动:根据自己的操作系统下载相对应的驱动。使用方法:把文件存放在python根目录下,例如:C:\xxx\Python\Python38下。(安装最新版......
  • 使用Ubuntu时遇到的各种问题(二)
    1.底盘里程计的计算:1.[基于STM32底盘控制与ROS上层导航小车制作]第六节ROS计算和发布里程计与tf变换_ros小车里程计计算-CSDN博客2.SLAM从入门到精通(底盘里程计的计算)_小车里程计csdn-CSDN博客           要了解差速轮,那么我们先预设一些变量。差速轮的间......
  • 设计模式:异步处理文件常用设计模式
    引言在java中,基于系统系统性能考虑,大文件导入和导出大多采用异步模式。那么如何设计既不会造成代码冗余也有利于后续更好的扩展呢?以下将介绍三种不同的设计方案:正文1.工厂模式+模板方法模式1.1.设计思路使用工厂模式创建不同的文件导入处理器(如CSV导入、Excel导......
  • spring全家桶使用教程
    成长路上不孤单......