
设计模式
文章平均质量分 85
Munger6
这个作者很懒,什么都没留下…
展开
-
FactoryBean与BeanFactory 区别
BeanFactory是接口,提供了OC容器最基本的形式,给具体的IOC容器的实现提供了规范, FactoryBean也是接口,为IOC容器中Bean的实现提供了更加灵活的方式,FactoryBean在IOC容器的基础上给Bean的实现加上了一个简单工厂模式和装饰模式(如果想了解装饰模式参考:修饰者模式(装饰者模式,Decoration)我们可以在getObject()方法中灵活配置。其实在Spring源码中有很多FactoryBean的实现类.区别:BeanFacto...转载 2020-08-20 14:57:27 · 827 阅读 · 0 评论 -
Http请求封装的三进阶
系统与系统之间的交互往往会使用到http请求,而我们发起http请求过程繁琐;因此我们需要对Http请求进行封装以方便使用;最近项目中接触到了一个经常被其他项目调用的项目主体,研究其演进架构,将其精髓记录下来 首先我们来看一看最原始的Http请求的代码书写/** * http请求第一个版本(直接发起Http请求) * * @author hzm ${2020-06-20 17:57} */public class Http { /** * http请...原创 2020-07-10 17:24:52 · 1787 阅读 · 1 评论 -
设计模式-详解工厂模式
简单工厂模式:一个披萨店提供不同口味的披萨饼,披萨生产过程:原料准备、烘焙、切片、包装 1、将变化封装到工厂中,修改代码则修改工厂中的代码; 2、工厂可以生产多种产品,不局限于一种类型 3、给简单工厂提供静态方法,避免了实例化对象,也使得不能通过继承来改变创建方法的行为;public class SimplePizzeFactory{ public static Pizza createPizza(String type){ P...原创 2020-07-07 10:08:15 · 198 阅读 · 0 评论 -
委派模式-简单示例到源码解析
1,含义: 又叫委托模式,,将任务的调度和分配与任务的执行分离开来; 是一种特殊的静态代理, 属于行为型模式;2、应用场景: ①委派不知道任务如何进行处理,把请求交给对象处理 ②实现程序的解耦(更注重委派的规则)3、在生活场景中的应用 ①老板委派员工实现想法 ②业务办理的委托通用实现: 实例1(老板给主管下达命令,leader分配任务) IEmployee ...原创 2020-06-04 16:26:26 · 315 阅读 · 0 评论 -
设计模式-结构型模式(装饰器模式)
装饰器模式的应用场景含义:创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。特征:1、可以透明动态的扩展一个类的功能或给一个类添加附加职责; 2、动态的给一个对象添加功能,这些功能可以再动态的撤销;使用场景:扩展一个类功能; 动态增加功能,动态撤销; 当存在较多复杂的类功能组合的时候,为避免类爆炸,就会采用装饰器模式;命名规则:Decorator生活中案例: 咖啡:...原创 2020-05-27 17:28:11 · 352 阅读 · 0 评论 -
设计模式-结构型模式亨元模式
享元模式和组合模式的应用场景含义: 是对象池的一种实现,类似于线程池,可以避免不停的创建和销毁多个对象,消耗性能;使用场景: 在系统有大量的相似对象,需要缓冲池的场景,一般会搭配工厂模式使用;现实案例: 房源渠道、全国社保联网、线程池;亨元的通用实现接口Shape定义亨元被外部调用的方法具体的亨元实现Circle实现接口Shape并实现自定义方法工厂类ShapeFactory 在调用getCircle() 的时候从维护的HashMap(circleMap)中根据主键获取唯一身份标识的原创 2020-05-26 16:47:48 · 283 阅读 · 0 评论 -
建造者Builder模式介绍与实操
概念建造者模式,又称为生成器模式,是一种对象构建模式,将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构造不同的属性对象出来;优点1,相对静态工厂和构造器,可以很好的扩展到大量的可选参数; 比如构造一个包装食品的营养成分标签;2,相对javaBean来说,可以更好实现类的可变性;3,增加新的具体建造者无需修改类库代码,符合开闭原则;4,相对抽象工...原创 2019-12-06 16:20:38 · 648 阅读 · 0 评论 -
原型模式在实际开发中的应用BeanUtils
我们学习设计模式的时候学了原型模式,原型模式在我们的实际开发中使用场景也是很多的,我在实际开发中主要有以下两大场景: 1、在我们希望接下来这个类的操作与之前这个类的操作之间相互不影响; 2、通常在异步操作的时候避免多线程问题,在调用方法的时候不希望被调用方法对对象的操作影响本层的剩余业务逻辑处理; 在需要这样...原创 2019-12-06 14:25:09 · 954 阅读 · 0 评论 -
代理模式(自己实现源码)
代理模式概述:作 用:保护被代理对象,通过被代理类的功能增加快速实现具有相同功能增强需求的被代理功能增强;特 点:现实世界代理是委托人找代理人, 设计模式中是代理人调用委托人;优 点:有利于框架的拓展增强被代理对象,解耦调用者与被调用者,提高代码的重用率;使用场景:需要对被代理对象进行功能增强的时候使用,一般用于框架重用与多处业务逻辑;典型案例...原创 2019-12-05 15:39:15 · 951 阅读 · 0 评论 -
Spring核心容器实现之容器初始化
体系设计1,BeanFactory:Bean工厂 为IOC容器管理对象间依赖关系提供基础服务。 顶层接口:BeanFactory,定义IOC容器基本功能规范, 第二层接口:ListableBeanFactory-可列表Bean、HierarchicalBeanFactory -继承关系Bean、AutowireCapableBeanFactory - 自动装配...原创 2019-06-26 17:03:36 · 376 阅读 · 0 评论 -
一贴看懂UML,不再发愁看不懂设计模式
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) 【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的转载 2016-12-10 00:02:45 · 6992 阅读 · 3 评论 -
常用设计模式详解,附设计系统思路图
UML语言:补 充:spring带来了面向切面编程,在属性和行为中切一些代理方法或者属性进去;是对面向对象编程的有益补充;设计7原则:1、开闭原则:软件对扩展是开放的,对修改是关闭的;【这是一个纲领性原则,最后要达到的结果就是强内聚,少耦合;】2、单一职责原则:每一个对象都有一个单独的职责(一个职责不是一个方法)【案例】:一个方法要操作流程,则流程发生改变就要改原创 2016-12-08 23:18:45 · 1068 阅读 · 0 评论 -
Java程序员应该了解的10个面向对象设计原则
面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程转载 2016-10-15 00:13:59 · 301 阅读 · 0 评论 -
设计模式与7大原则
Java中的24种设计模式与7大原则:一、创建型模式1、抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2、生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造. 将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示.转载 2016-12-01 21:56:42 · 369 阅读 · 0 评论