设计模式学习
文章平均质量分 67
一名假人
已经不是大学了,要开始工作了,继续记录自己的成长。
展开
-
项目学习——简单工厂模式优化
项目学习——简单工厂模式优化 一、前言 最近接触了一个项目,在这个项目中有一个EventHandler的概念,用于解决KAFKA不同类型的数据。 为了架构设计,开发成员在这里使用了工厂模式来处理这块请求。但是他通过引入spring的InitializingBean接口,解决了简单工厂中可能会出现大量的if-else的问题。 二、简单工厂模式设计图 在这个项目中有一个EventHandler基本的工厂模式架构图是这样的。 本项目的EventHandler架构大致也是这样的。 三、传统的简单工厂缺点 通过上图原创 2021-11-16 10:39:56 · 848 阅读 · 2 评论 -
设计模式(四)—— 代理模式
(静态)代理模式 介绍a 结构图: 定义 代理模式为其他对象提供一种代理以控制对这个对象的访问 (自我总结)核心: 顶层方法接口 代理对象类 实际对象类 特点: 在保留一个类的基本功能的同时,可以通过代理方式对其方法进行增强,起到职责分明和功能加强的作用 使用场景(这种思想不仅仅运用于代码中) 远程代理,为一个对象在不同的地址空间起到局部代表,这样可以隐藏一个对象存在于不...原创 2020-02-26 12:31:40 · 129 阅读 · 0 评论 -
设计模式(三)——工厂方法模式
工厂方法模式 介绍 结构图: 定义 定义一个用于船舰对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延伸到其子类 (自我总结)核心: 顶层工厂接口和一系列实现类 顶层产品接口和一系列实现类 优点: 解决了简单工厂需要维护的 if-else 列表(极大程度上满足了开闭原则),选择使用移交给调用方 保留了简单工厂创建对象的隐蔽性 缺点: 需要维护大量的额外使...原创 2020-02-26 11:21:53 · 181 阅读 · 0 评论 -
设计模式(二)——策略模式
策略模式 介绍 结构图: (自我总结)核心: 工厂类(判断生成对象以及一系列以次对象为基础的getResult()方法)和顶层抽象类(用于管理一系列的实现类) 优点: 前台(调用者): 只需要知到Context的使用规则就好了,相比较简单工厂连IStrategy的实际使用都不需要了解了 开发者: 可以根据需求在Context添加对象的方法组合(比如对象只有两个数的相加,我们可以在...原创 2020-02-26 09:55:36 · 123 阅读 · 0 评论 -
设计模式(一)-- 简单工厂模式
简单工厂模式原创 2020-02-25 18:29:53 · 175 阅读 · 0 评论