年度归档: 2025 年

11 篇文章

thumbnail
设计模式之消息推送系统——桥接模式
  1.业务需求 ​ 大家好,我是菠菜啊,好久不见,今天给大家带来的是——桥接模式。老规矩,在介绍这期内容前,我们先来看看这样的需求:我们现在要做一个消息推送系统,实现纯文本消息和html格式消息的推送,推送方式支持email、短信,我们该怎么实现? 2.代码实现 Talk is cheap,show me your code. 初版实现思路: ​…
thumbnail
设计模式之房产中介——代理模式
手撕设计模式之房产中介——代理模式 1.业务需求 ​ 大家好,我是菠菜啊,好久不见,今天给大家带来的是——代理模式。老规矩,在介绍这期内容前,我们先来看看这样的需求:我们有一套房产需要出售,但是我们抽不开身去带客户看房对接而且获客方式有限,我们该怎么实现? 2.代码实现 Talk is cheap,show me your code. 初版实现思路…
thumbnail
第一个小程序
工具类小程序,主要功能:支持图片文字扫描、语音翻译、文档翻译、PDF Word Excel PPT多种文件格式转换。
thumbnail
设计模式——复杂对象之生成器模式
手撕设计模式——复杂对象之生成器模式 1.业务需求 ​ 大家好,我是菠菜啊,好久不见,今天给大家带来的是创建型模式——生成器模式。老规矩,在介绍这期生成器模式前,我们先来看看这样的需求:现在有一个汽车装配的流水线,要支持轮胎、座椅、发动机等配件客户的定制,我们该怎么设计? 2.代码实现 实现初步思路: ​ 上一章我们学习了工厂方法模式(看这篇文章前…
thumbnail
设计模式——计划生育之单例模式
手撕设计模式——计划生育之单例模式 1.业务需求 ​ 大家好,我是菠菜啊。80、90后还记得计划生育这个国策吗?估计同龄的小伙伴们,小时候常常被”只生一个好“”少生、优生“等宣传标语洗脑,如今国家已经放开并鼓励生育了。话说回来,现实生活中有计划生育,你知道设计模式中也有计划生育吗?它是怎么实现的? 2.代码实现 我们只要保证一个类只有一个实例化对象…
thumbnail
设计模式——克隆对象之原型模式
手撕设计模式——克隆对象之原型模式 1.业务需求 ​ 大家好,我是菠菜啊,前俩天有点忙,今天继续更新了。今天给大家介绍克隆对象——原型模式。老规矩,在介绍这期之前,我们先来看看这样的需求:《西游记》中每次孙悟空拔出一撮猴毛吹一下,变出一大批猴子加入战斗,他到底是怎么变的?如果我们帮他实现这个功能,代码怎么设计? 2.代码实现 首先先说第一个问题,怎…
thumbnail
设计模式——工厂三兄弟之抽象工厂
手撕设计模式——工厂三兄弟之抽象工厂 1.业务需求 ​ 大家好,我是菠菜啊。今天给大家介绍工厂三兄弟最后一个兄弟——抽象工厂。老规矩,在介绍这期抽象工厂模式前,我们先来看看这样的需求:现在有俩个制造工厂,都要生产冰箱产品,并且客户在使用冰箱产品能够随意切换制造厂商,我们该怎么设计? 2.代码实现 实现初步思路: ​ 上一章我们学习了工厂方法模式(看…
thumbnail
设计模式——工厂三兄弟之工厂方法
手撕设计模式——工厂三兄弟之工厂方法 1.业务需求 ​ 大家好,我是菠菜啊。在介绍这期工厂方法模式前,我们先来看看这样的需求:升级之前的计算器,增加对数和指数运算。(看这篇文章前可以先回顾《设计模式——工厂三兄弟之简单工厂》这篇) 2.初步实现 实现初步思路: ​ 新增运算类的子类对数和指数运算类,修改OperationFactory类,增加创建对…
thumbnail
设计模式——工厂三兄弟之简单工厂
手撕设计模式——工厂三兄弟之简单工厂 1.业务需求 ​ 大家好,我是菠菜。在介绍这期简单工厂设计模式前,我们先来看看这样的需求:制作一个简单的计算器,能够实现控制台输入俩个数以及运算符完成运算。 2.初步实现 实现第一版思路: ​ 创建计算器类,控制台输入俩个数以及运算符,通过if条件输出运算结果。 CalClient 类: public clas…
thumbnail
设计模式基础——设计原则介绍
设计模式基础——设计原则介绍 1.概述 ​ 对于面向对象软件系统的设计而言,如何同时提高一个软件系统的可维护性、可复用性、可拓展性是面向对象设计需要解决的核心问题之一。面向对象设计原则应运而生,这些原则你会在设计模式中找到它们的影子,也是设计模式的基础。往往判断一个设计模式使用的好与不好,就看它是否遵循或违反了哪些设计原则。 ​ 主要的设计原则有7…