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