首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏CSDN搜“看,未来”

    用过的设计模式5)-- 中介者模式

    [在这里插入图片描述] 前言 什么是中介者模式呢?看上面那张图应该是一目了然了吧。 在做FTP本地云小项目的后端建设时用了中介者模式,将几个大块的职责分布到不同的服务器中去。 [在这里插入图片描述] 有写日报的好习惯,所以当时的事情是可以基本复现的。 具体在这篇:FTP文件管理项目(本地云)项目日报(五),细节可查。 ------ 中介者模式 又叫调停者模式,但是更喜欢中介者这个名字,因为一下就表达出这个设计的意图了。 中介者模式简单,但是也容易误用,不要为了使用中介者模式而使用它。 案例:大型相亲现场 VS 传统媒人模式 (圆的是女的,五角星是男的) [在这里插入图片描述] 有没有发现这个图,耦合度极高。 这招以前还真没试过。

    82700发布于 2021-02-25
  • 模式与万免臻选模式:解决商家拓留客问题,刺激消费内循环。

    模式与万免臻选模式开发涉及多个系统组件、数据库设计、业务逻辑处理、用户界面开发等多个方面。不过,可以为你提供一个简化的、概念性的代码框架,帮助你理解如何开始构建这样的系统。 以下是一个简化的Python代码框架,用于表示模式和万免臻选模式的核心逻辑:python复制代码# 导入必要的库 import random from datetime import datetime self): # 分红逻辑(简化) dividend_amount = self.integral_pool['total_integral'] * 0.05 # 假设5% 万免臻选模式的排队免单逻辑。推广员系统的实现。真实的数据库连接和操作。用户界面和API设计。安全性、错误处理和日志记录等。

    33310编辑于 2024-10-11
  • 来自专栏leland的专栏

    【吴师傅的Python面包】Day 5

    前言:十一国庆只能待在家的吴师傅十分无聊,决定开一家Python面包打发下时间。后面的每一天,吴师傅都会用一段代码简单实现卖面包的功能,并且解决前一天暴露的问题。

    50230发布于 2021-10-05
  • 来自专栏爪哇缪斯

    趣解设计模式之《小王的披萨

    〇、小故事小王看到最近越来越多的人喜欢吃披萨了,所以,他决定自己也开一个披萨。最初开的时候,他只提供了一种口味的披萨,因为这样先试试水,看看生意如何,如果生意不好,也可以快速止损。 我们来看一下今天要介绍的模式——工厂方法模式。一、解决方法1:简单工厂1.1> 解决思路我们创建对象的时候,会在业务代码里直接new对象。 1.2> 定义简单工厂(Simple Factory)简单工厂其实不是一个设计模式,反而比较像是一种编程习惯。 为了解决这个问题,我们引入了工厂方法模式,即:如果有新的地区要开披萨,那么即使是同样的pizzaType,但是不同地区的口味依然是不同的,那么我们可以通过新建一个PizzaStore的子类来实现不同地区制作披萨的行为 2.2> 模式定义工厂方法模式(Factory Method Pattern)定义了一个创建对象的接口(类或接口中的方法),但由子类决定要实例化的类是哪一个。工厂方法把实例化推迟到子类。

    48920编辑于 2023-09-29
  • 模式与城市X选模式:消费循环分红省钱:无痛消费

    模式”和“城市酷选模式”直接转化为代码是一个复杂且庞大的任务,因为这涉及到多个系统模块的开发,包括前端用户界面、后端服务器逻辑、数据库设计、支付系统、区块链(如果涉及绿色积分通证化)等。 Number, default: 0 }, // 其他字段... }); module.exports = mongoose.model('User', UserSchema);创建路由(例如,模式的订单处理 合规性:确保业务模式符合相关法律法规,特别是涉及支付、区块链等敏感领域。5. 后续步骤细化需求:与团队、客户深入沟通,明确每个功能的具体需求。设计数据库:根据需求设计详细的数据库结构。

    1.1K10编辑于 2024-10-11
  • 来自专栏CSDN旧文

    『设计模式』就因为多收了2块5追着收银员问是不是不懂设计模式--策略模式

    问她:“你是不是不知道什么是策略模式” 她一脸茫然地看着,“啊?先生请您再说一遍。” 说:“是白金会员,请选择白金会员的策略” 她说:“不好意思,您一年没来我们这里买过东西了,已经给您降档了!” 说:“还有这操作?。。。。” 朋友觉得为了几块钱这么墨迹,付完钱拉着就走了,问我:“你说的什么模式怎么回事?” 说超市收银系统就是很好的策略系统,就是一个典型策略模式。 多收了2块5,心疼死了,慢慢给你讲! 可没难为收银员,情境! 策略模式 策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 写在最后: 叫风骨散人,名字的意思是多想可以不低头的自由生活,可现实却不是这样。

    43410发布于 2020-10-28
  • 来自专栏爪哇缪斯

    趣解设计模式之《小王的披萨

    〇、小故事 小王看到最近越来越多的人喜欢吃披萨了,所以,他决定自己也开一个披萨。最初开的时候,他只提供了一种口味的披萨,因为这样先试试水,看看生意如何,如果生意不好,也可以快速止损。 我们来看一下今天要介绍的模式——工厂方法模式。 一、解决方法1:简单工厂 1.1> 解决思路 我们创建对象的时候,会在业务代码里直接new对象。 1.2> 定义 简单工厂(Simple Factory) 简单工厂其实不是一个设计模式,反而比较像是一种编程习惯。 为了解决这个问题,我们引入了工厂方法模式,即:如果有新的地区要开披萨,那么即使是同样的pizzaType,但是不同地区的口味依然是不同的,那么我们可以通过新建一个PizzaStore的子类来实现不同地区制作披萨的行为 2.2> 模式定义 工厂方法模式(Factory Method Pattern) 定义了一个创建对象的接口(类或接口中的方法),但由子类决定要实例化的类是哪一个。工厂方法把实例化推迟到子类。

    43520编辑于 2023-09-29
  • 来自专栏爪哇缪斯

    趣解设计模式之《小王的披萨续集》

    〇、小故事 在《小王的披萨》这篇文章中,我们介绍了小王开披萨的故事,并且为了解决多种口味披萨的扩展问题,引出了简单工厂和工厂方法模式。 但是,故事仍在继续,如果芝加哥的披萨和纽约的披萨,要求往披萨上面加的配料都不一样,那么如何可以规范多种类型披萨的创建呢? 如下图所示: 【Dough】生面团 【Sauce】调味汁 【Cheese】干酪、奶酪 【Clams】蛤蜊 那么为了解决类似的问题,就可以采用我们今天要介绍的模式——抽象工厂模式。 一、模式定义 抽象工厂模式(Abstract Factory Pattern) 提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。 往期推荐 趣解设计模式之《小王的披萨》 趣解设计模式之《为什么租房子要找中介?》 趣解设计模式之《当代毕加索小王》 趣解设计模式之《小王的糖果售卖机》 趣解设计模式之《小店儿菜单的故事》

    43360编辑于 2023-10-06
  • 来自专栏不一样的科技宅

    设计模式-从开电脑理解工厂方法

    回家创业开一家电脑,可以卖电脑、修电脑、装监控、装宽带等等,想到这些xxx感受到了前途一片光明啊,露出了久违的笑容,立马买了回家的车票,回家创业去了。    经过一段时间的折腾,xxx电脑总算是开起来了,既然要卖电脑,自己造电脑卖肯定是不可能的,这个时候xxx去联系了联想采购了10台ThinkPad,同时联系了苹果采购了10台MacBookPro。 翻译如下:   (需求方)向各大厂商(factory)采购电脑,只需要知道,想要何种品牌的电脑即可,然后找对应的工厂采购即可,不需要关心厂商如何生产电脑(实例化的过程)的,对于生产电脑这个复杂的过程对于我来讲是完全透明的 ,如果有客户有新的需求,直接联系对应的厂商进货即可,原本的电脑还是可以正常的售卖。 是不一样的科技宅,每天进步一点点,体验不一样的生活。我们下期见!

    66077发布于 2020-09-18
  • 来自专栏爪哇缪斯

    趣解设计模式之《小王的披萨续集》

    〇、小故事在《小王的披萨》这篇文章中,我们介绍了小王开披萨的故事,并且为了解决多种口味披萨的扩展问题,引出了简单工厂和工厂方法模式。 但是,故事仍在继续,如果芝加哥的披萨和纽约的披萨,要求往披萨上面加的配料都不一样,那么如何可以规范多种类型披萨的创建呢? 如下图所示:图片【Dough】生面团【Sauce】调味汁【Cheese】干酪、奶酪【Clams】蛤蜊那么为了解决类似的问题,就可以采用我们今天要介绍的模式——抽象工厂模式。 一、模式定义抽象工厂模式(Abstract Factory Pattern)提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。 二、模式类图对于抽象工厂,将一系列产品(配料类型,比如:Dough、Sauce、Cheese、Clams)统一到一起去创建(即:PizzaIngredientFactory的实现类:NYPizzaingredientFactory

    45840编辑于 2023-09-30
  • 模式与城市X选模式:为实体门店引流 ,激活线上商城

    “上海模式”与“城市酷选排队免单模式”涉及到多个方面的技术实现,包括后端服务、数据库设计、前端交互、支付系统、区块链(如果涉及到Dapp或区块应用)等。 5. 注意事项安全性:在实际项目中,你需要考虑用户认证、数据验证、输入清理等安全问题。

    54410编辑于 2024-10-11
  • 来自专栏菩提树下的杨过

    (Head First 设计模式)学习笔记(3) --装饰者模式(StarBuzz咖啡实例)

    应用概述: StarBuzz咖啡有很多饮料,每种饮料都可以根据客户需要加一些调料,比如深培咖啡可以加摩卡(或双倍摩卡),而且某些饮料可以分为大中小杯,根据容量不同,售价不同,而且调料的价格根据饮料的容量不同而不同 GetCost().ToString());//House Blend Coffee(Small) Cost:0.68                                      //客户要求:要加二份摩卡

    76480发布于 2018-01-23
  • 来自专栏数据森麟

    用 pyhton 做了款可开淘宝赚钱的工具

    批量更换证件照背景色工具 之前给大家介绍了一款 AI 抠图神器:Remove.bg ,使用 Python 调用 API 快速完成了照片抠图和证件照换底色,5 秒钟就能搞定一张图片,效果相当不错。 ? 上淘宝搜索「证件照换底色」的店铺,发现多数店铺收费是 5 元,觉得利用好价格差空间,应该有商机。 跟第二家掌柜聊了后,也是花了 16 分钟弄好,比第一家稍好一点: ? 把三幅图一对比,从头发丝抠的效果和照片的色彩还原度就可以看出还是 AI 效果最好,而且只需要 5 秒钟。 心疼掌柜,花了 20 分钟还没有拿下这一单。。。 这么难抠的图 AI 工具效果都好,那简单的证件照应该更没问题,基本确定有商机。 b:blue 蓝色 r:red 红色 w:white 白色 这样就做成了一个简单的证件照更换工具,拿去开个淘宝感觉应该没太大问题,更换证件照背景色的整个过程,一分钟就可以完成,专注处理证件照,定价 2

    84120发布于 2019-09-27
  • 来自专栏一尾流莺学前端

    【设计模式这样学习设计模式-工厂模式

    ---- 工厂模式 工厂模式是用来创建对象的一种最常用的设计模式。根据抽象程度的不同可以分为:简单工厂模式,工厂方法模式 和 抽象工厂模式。 简单工厂模式 定义 简单工厂模式,又称为静态工厂方法模式。由一个工厂对象决定创建出哪一种产品类的实例。 类图 决定不干前端了,回家开了个星巴克咖啡厅,顾客到我的咖啡厅点一杯咖啡,告诉需要哪种咖啡,来根据顾客的决定创建咖啡。由于是小本生意,全部由我亲力亲为。 类图 开店就是比干前端挣钱,随着星巴克咖啡规模的扩大,品种的增加,并且的顾客也越来越多,这时一个人就已经忙不过来了,决定安心当老板,躺平收钱。 于是顾了几个服务员,每个服务员负责 一个品种 的制作。顾客在这下单,再由我分配给对应的服务员进行生产。 与简单工厂的区别 在简单工厂模式中,是由工厂Factory来创建产品的。

    78830编辑于 2022-12-10
  • 来自专栏技术杂货店

    设计模式5】-- 原型模式

    原型模式的定义 原型模式,也是创建型模式的一种,是指用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象,简单来说,就是拷贝。 Pear(8); fruitMap.put(pear.getName(),pear); Watermelon watermelon = new Watermelon(5) 总结 原型模式适用于创建对象需要很多步骤或者资源的场景,而不同的对象之间,只有一部分属性是需要定制化的,其他都是相同的,一般来说,原型模式不会单独存在,会和其他的模式一起使用。 个人写作方向:Java源码解析,JDBC,Mybatis,Spring,redis,分布式,剑指Offer,LeetCode等,认真写好每一篇文章,不喜欢标题党,不喜欢花里胡哨,大多写系列文章,不能保证写的都完全正确 ,但是保证所写的均经过实践或者查找资料。

    59520编辑于 2021-12-11
  • 来自专栏blog(为什么会重名,真的醉了)

    设计模式-桥接模式(诺基亚:觉得还能抢救下)

    文章目录 引例 桥接模式 实战示例 总结 引例 虽然智能手机占据绝大市场,但诺基亚等老牌手机仍可用作于老年机、学生机等。 解决方案就是下面的主角:桥接模式。 桥接模式 桥接模式(Bridge)是一种结构型设计模式。 如此一来搭好桥后,具体实现类调用方法=》父类抽象类的方法=》行为接口方法=》具体接口行为实现类,以完成连接,同时两者又相互独立易扩展: 实战示例 用桥接模式来解决引例的实际问题。 桥接模式替代多层继承方案,可以减少子类的个数,降低系统的管理和维护成本。 桥接模式的引入增加了系统的理解和设计难度,由于聚合关联关系建立在抽象层, 要求开发者针对抽象进行设计和编程 常见的应用场景: -JDBC驱动程序 -银行转账系统 转账分类: 网上转账,柜台转账,AMT

    50740编辑于 2022-05-08
  • 模式与链动 3+1 模式:提高用户黏性和复购率

    模式”与“链动3+1模式”涉及多个方面的技术实现,包括后端服务、数据库设计、前端交互、支付与结算系统、用户与商家管理、奖励与分红计算等。 5. 注意事项安全性:在实际项目中,你需要考虑用户认证、数据验证、输入清理等安全问题。

    70110编辑于 2024-10-11
  • 来自专栏一尾流莺学前端

    【设计模式这样学习设计模式-单例模式

    类图 简单单例模式 一个类可以创建多个实例,并且每个实例之间都不相等 class Window { constructor() {} } let w1 = new Window(); let } let w1 = Window.getInstance(); let w2 = Window.getInstance(); console.log(w1 === w2); //true es5实现的单例模式 透明单例模式 使用者不知道要按照单例使用,还是会使用new来调用构造函数从而发生错误,那么为了解决这个问题,我们通过下面这种方式,还是使用new的方式创建对象,但返回的都是同一个实例。 createInstance(); window1.hello(); console.log(window1 === window2) 封装变化 上面的例子createInstance只能创建Window的实例,希望 参考 web前端-js设计模式

    47230编辑于 2022-12-10
  • 来自专栏大猫的Java笔记

    5.设计模式--原型模式(prototype模式)

    原型模式是一种创建型模式,例如我们要创建一个Student对象都是采用的new Student();但是有些时候对象的创建十分复杂,这个时候原型模式就登场了,就像毕业论文太长了自己写太麻烦。 2.原型模式结构图 Product是一个接口,表示产品的接口,只要是产品都会实现此接口,例如Television(电视)和Computer(电脑)。 同时Product继承了Cloneable,原因是原型模式的复制是要基于clone方法的,而clone方法必须实现Cloneable接口。 3.原型模式的实现 Product是一个接口,表示产品的接口,只要是产品都会实现此接口。 Television(电视)表示的就是电视产品,实现Product接口。 原型模式一般是解决对象的创建比较复杂的场景,原型模式优缺点如下 优点:能够解决复杂对象的创建,同时进行解耦,如果复杂的每次自己创建,再具体产品进行修改后,业务代码全部可能会进行调整。

    64130发布于 2021-09-29
  • 来自专栏CSDN搜“看,未来”

    用过的设计模式(6)-- 门面模式

    [在这里插入图片描述] 知道,这张图也看不明白在讲什么。 门面模式的定义已经呼之欲出了:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。 门面模式提供一个高层次的接口,使得子系统更易于使用。 优点:高内聚,松耦合。安全,不通过门面上提供的方法,休想访问模块内部。 -------- 说说是如何在项目中使用这个模式的吧。 在这里插入图片描述] 门面上的东西呢,是那些UI界面,而门后面的东西,则是各个算法类,用户能接触到的只有UI,UI类也无法直接接触到算法类,只能向任务调度类发出信号,由任务调度类接收信号并作出统筹,这就是的 门面模式是个很好的模式,很符合面向接口编程,遵守了依赖倒置原则、迪米特法则等,当然,有些书说违背了开-闭原则,个人认为,门面模式并不妨碍拓展,只要把基类抽取好,新功能只需要继承或依赖与基类即可。 其次,外观模式实际上违背了设计模式中的开闭原则,如果我们要修改业务逻辑,常常业务方也需要进行代码修改。那么,什么样的情况下适合使用外观模式呢?

    53900发布于 2021-02-25
领券