设计模式
文章平均质量分 57
沉梦昂志️
这个作者很懒,什么都没留下…
展开
-
【设计模式】模板方法模式
一、模板方法模式是什么?概念:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。通俗的讲,模板方法模式是通过把不变行为搬到超类,去除子类里面的重复代码提现它的优势,它提供了一个很好的代码复用平台。当不可变和可变的方法在子类中混合在一起的时候,不变的方法就会在子类中多次出现,这样如果摸个方法需要修改则需要修改很多个,虽然这个这个问题在设计之初就应该想好。这个时候模板方法模式就起到了作用了,通过模板方法模式把这些重复出现的方法搬到单原创 2022-04-17 17:09:30 · 215 阅读 · 1 评论 -
【设计模式】工厂方法模式
前言抽象类是否可以实例化策略模式简单工厂模式装饰模式一、工厂方法模式是什么?1.介绍工厂方法模式一般可以分成产品和工厂两个大类来思考(Factory和Operation),工厂做借口引用Operation这个基类的函数craeationOperation2.步骤步骤1: 创建抽象工厂类,定义具体工厂的公共接口;步骤2: 创建抽象产品类 ,定义具体产品的公共接口;步骤3: 创建具体产品类(继承抽象产品类) & 定义生产的具体产品;步骤4:创建具体工厂类(继承抽象工厂类).原创 2022-04-13 09:31:31 · 147 阅读 · 0 评论 -
【设计模式】中间商——代理模式
更多设计模式举例抽象类是否可以实例化策略模式简单工厂模式装饰模式一、代理模式是什么?代理模式可以类似于社交软件,双方之间的语言交流通过社交软件这个中间代理实现(追求者通过代理来送给被追求者礼物)二、使用步骤订单系统(使用代理模式完成,提交代码与UML类图)一旦订单被创建,只有订单的创建人才可以修改订单中的数据,其他人则不能修改。package zjj;//代理借接口 interface OrderApi { //产品名称 订购数量 订购人 public String get原创 2022-04-13 08:45:28 · 263 阅读 · 0 评论 -
【设计模式】——如何做到一步步装饰一个类——装饰模式的实现
文章目录前言一、pandas是什么?二、使用步骤1.小菜撩妹2.复杂的奖金计算总结前言抽象类是否可以实例化策略模式简单工厂模式一、pandas是什么?何时使用在不想增加很多子类的情况下扩展类时方法将具体功能职责划分,同时继承装饰者模式优点装饰类和被装饰类可以独立发展,而不会相互耦合。它有效地把类的核心职责和装饰功能分开了装饰模式是继承关系的一个替代方案装饰模式可以动态地扩展一个实现类的功能缺点多层装饰比较复杂。比如我们现在有很多层装饰,出了问题,一层一层检查,最后发现是原创 2022-04-06 09:38:17 · 420 阅读 · 0 评论 -
【策略模式】实例——工资支付
文章目录前言一、题目描述二、设计步骤1.上下文传参实现2.扩展上下文总结前言一、题目描述用多种支付方式实现工资的分发(如人民币支付、美金支付)。使用上下文对象传递和扩展上下文传递二、设计步骤1.上下文传参实现代码如下(示例)://工资支付接口interface PaymentStrategy{ public void pay(PaymentContext ctx);}//人民币现金支付class RMBCash implements PaymentStrategy{ publ原创 2022-04-02 11:19:44 · 212 阅读 · 0 评论 -
【策略模式】
策略模式组成环境类(Context):用一个ConcreteStrategy对象来配置。维护一个对Strategy对象的引用。可定义一个接口来让Strategy访问它的数据。抽象策略类(Strategy):定义所有支持的算法的公共接口。 Context使用这个接口来调用某ConcreteStrategy定义的算法。具体策略类(ConcreteStrategy)(ConcreteStrategy):以Strategy接口实现某具体算法。实例——收银系统抽象策略类:本身为抽象类,具体策略类继承于它原创 2022-03-23 11:10:02 · 139 阅读 · 0 评论 -
【简单工厂模式】
简单工厂模式:1.工厂可以看作一个用于控制多个类的总类,因此简单工厂模式就可以分为三部分(或者两部分)Factory类:用于操控其他的功能类、Operator类:用于实现具体功能、(InOut:输入修改类)、2.三个类之间关系Factory类是Operator的父类InOut引用Factory类完成算法更多...原创 2022-03-23 10:16:56 · 116 阅读 · 0 评论