
DesignPattern 设计模式
文章平均质量分 70
DesignPattern 设计模式
笑虾
一壶泪,暗淡醇香味。
化作万樽与谁对?
忧举杯,乐举杯,地老天荒只一醉。
欲哭时,男儿无泪,千般相思苦。
杯中汇……
展开
-
设计模式 - 学习笔记 - UML统一建模语言
设计模式 - 学习笔记 - UML统一建模语言 - 类图Class Diagram类图关系类型1. 依赖关系 Dependency参考资料类图由于是学习设计模式的准备工作,这里只是学习了一下UML中的类图关系类型classDiagram classA --|> classB : 继承 classC --* classD : classC_1...classC_n 组合为 classD classE --o classF : classE_1...classE_n 聚合原创 2021-08-09 10:14:35 · 343 阅读 · 0 评论 -
设计模式 - 学习笔记 - TemplateMethod 模板方法
现在有一个业务需要分 个方法(步骤)来处理整个流程。期中只有是不确定的,需要动态变化。其他步骤都是固定套路。常见的比如:, 时申请资源(创建连接),释放资源(关闭连接)等操作。...原创 2022-06-25 15:40:14 · 269 阅读 · 0 评论 -
设计模式 - 学习笔记 - ObserverPattern 观察者模式(Event事件模式)
设计模式 - 学习笔记 - 观察者模式ObserverPattern学习总结基本逻辑对比`订阅发布模式`对比`访问者模式`学习总结基本逻辑定义发布者和观察者两个接口,然后实现1个发布者和n个观察者。每个观察者都实现了自己的update(msg)方法来更新数据。发布者维护一个观察者列表,并实现一个通知方法notify()遍历列表逐个调用观察者.update方法传入msg对比订阅发布模式观察者模式与订阅发布模式。后者对前者进一步拆分细化,将维护列表与发布通知工作独立出来作为调度中心。强行原创 2021-07-08 12:26:36 · 258 阅读 · 0 评论 -
设计模式 - 学习笔记 - VisitorPattern 访问者模式
设计模式 - 学习笔记 - 访问者模式VisitorPattern学习总结代码示例养身保健接口具体养身保健服务访问者接口具体访问者程序猿old镖客运行结果参考资料学习总结访问者模式的目的是将数据与操作数据的行为解构开,针对已知的数据(Element),可以扩展不同的行为(Visitor).养身保健的服务是固定的(比如只有4个)。访问者接口决定所有访问者都知道有4个服务。可扩展点就是访问者。通过创建新的访问者实现访问者接口来实现扩展。局限在于保健服务定死了。如果需要添加新服务,那么所有访问者都要原创 2021-06-25 12:48:27 · 254 阅读 · 0 评论 -
设计模式 - 学习笔记 - 代理模式ProxyPattern
设计模式 - 学习笔记 - 代理模式ProxyPattern学习总结要点总结UML参考资料学习总结既然叫代理,就想一下我们什么情况用代理——不方便直接访问(控制)的时候。比如:分布式、AOP所以核心就是间接访问(控制)要点总结“增加一层间接层"是软件系统中对许多复杂问题的一种常见解决方法。在面向对象系统中,直接使用某些对象会带来很多问题,作为间接层的proxy对象便是解决这一问题的常用手段。具体proxy设计模式的实现方法、实现粒度都相差很大,有些可能对单个对象做细粒度的控制,如copy-原创 2021-05-10 21:15:35 · 186 阅读 · 0 评论 -
设计模式 - 学习笔记 - 原型模式Prototype Pattern
设计模式 - 学习笔记 - 原型模式Prototype Pattern学习总结动机 Motivation应用场景UML代码示例1. 实现 Cloneable 接口: 浅拷贝2. 实现自己定义接口 Prototype: 浅拷贝实现 Cloneable 接口,序列化/反序列化: 浅深贝参考资料学习总结对象创建模式。解耦:你别new你直接用interface接就行了,要啥你直接叫我。原型的特点就是自我复制。Java中的Cloneable接口和它的clone()方法想必都接触过吧。动机 Motivati原创 2021-04-20 18:10:20 · 270 阅读 · 0 评论 -
设计模式 - 学习笔记 - 建造者模式Builder Pattern
设计模式 - 学习笔记 - 建造者模式Builder Pattern学习总结动机 Motivation要点总结应用场景UML代码示例1. 手工打造2. 使用 lombok的 @Builder2.1. 默认值2.2. 必填项2.3. Demo参考资料学习总结属于对象创建模式。与工厂的区别在于工厂更关心得到产品,建造者更重视建造过程。动机 Motivation在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一-定的算法构成;由于需求的变化,这个复杂对象的各个部分原创 2021-04-20 17:25:15 · 234 阅读 · 0 评论 -
设计模式 - 学习笔记 - 单例模式Singleton Pattern
设计模式 - 学习笔记 - 单例模式Singleton Pattern学习总结应用场景UML代码示例饿汉 hungry学习总结单列的核心就是这东西,我们只想要一份,无论多少人调用它。都是调这个实例。饱汉:调用时才创建实例,能省点是点。饿汉:初始化时直接生成实例,要用时直接调,无需等待。当然如果一直都没调它,那就活活浪费着。。。Java实现中考虑线程安全问题,衍生出了8种方式。其实好多是凑数的没啥意义。线程安全问题来自于饱汉模式运行时动态创建实例,多线程自然就会有撞车风险。饿汉模式就不存在线程安原创 2021-04-20 16:25:43 · 218 阅读 · 0 评论 -
设计模式 - 学习笔记 - 适配器模式AdapterPattern
设计模式 - 学习笔记 - 适配器模式原理分析代码演示电源插座 ElectricalSocket两口插头 PlugUSB公口手机充电器(适配器) ChargerAdapter客户端 AdapterPatternDemo原理分析适配器就是:扩展坞、转换器、充电头。解决的问题就是将一个目标不支持的接口,转变成一个能用的接口。典型场景就是功能都具备,只是接口对不上。代码演示电源插座 ElectricalSocketpublic class ElectricalSocket{ public vo原创 2021-04-05 19:57:21 · 272 阅读 · 0 评论 -
设计模式 - 学习笔记 - 装饰器模式DecoratorPattern
设计模式 - 学习笔记 - 装饰器模式原理分析应用场景优劣分析好处限制UML代码示例原理分析装饰嘛就是在毛坯上加功能呗。装饰器中包含一个属性用来保存毛坯。装饰器把毛坯的方法全重写一遍,通常就直接调毛坯原来的方法即可。然后按需要添加新方法来装饰毛坯。为了规范,毛坯和装饰器都通过实现接口来创建。是不是觉得继承就可以搞定的事?之所以脱裤子放这个屁就是为了把继承关系改为组合关系达到降低耦合度的目的。应用场景优劣分析好处限制UML代码示例...原创 2021-04-04 20:13:58 · 268 阅读 · 2 评论 -
设计模式 - 学习笔记 - 工厂模式Factory Pattern
工厂模式简单工厂应用场景UML优劣分析好处缺点代码示例抽象产品 AbstractProduct(米粉)具产品类(牛肉粉、酸辣粉)工厂类 Factory (米粉店)客户端 SimpleFactoryPatternTest工厂方法模式应用场景UML优劣分析好处缺点代码示例抽象产品 AbstractProduct(米粉)具产品类(牛肉粉、酸辣粉)抽象工厂 AbstractProduct(米粉店)具产工厂...原创 2020-04-19 22:56:50 · 321 阅读 · 0 评论 -
设计模式 - 学习笔记 - 策略模式StrategyPattern
策略模式参演名单锦囊 `interface `锦囊的具体实现类锦囊:`无中生有`锦囊:`顺手牵羊`执行策略的武将张飞 `Context `开发人员就是决定用什么策略的`诸葛亮`锦囊 interfacepackage strategy;/** * 锦囊: `无中生有`,`顺手牵羊`,`过河拆桥`,`借刀杀人` 它们都有一个统一的名字`锦囊` */public interface Si...原创 2020-04-12 23:31:41 · 344 阅读 · 0 评论 -
设计模式 - 应用场景:模板方法模式 + 策略模式 + Lambda
模板方法模式 + 策略模式 + Lambda。原创 2022-10-19 15:26:23 · 171 阅读 · 0 评论