![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 93
楼仔
一枚小小的Go/Java代码搬运工!
展开
-
【设计模式系列8】门面模式
主要讲解门面模式的实现方式,基于java,文章来源于CSDN,文章末尾会标明出处。这幅图有没有觉得很熟悉,猜猜这是哪里?毕业10年了~~前言最近在学习MyBatis,有一篇文章讲述到MyBatis用到的设计模式,提到了门面模式,然后这个设计模式,之前和同事讨论时也聊过,就专门百度了一下,发现挺简单的,简单记录一下。医院的例子下面讲述一个医院的例子,现代的软件系统都是比较复杂的,设计师处理复杂系统的一个常见方法便是将其“分而治之”,把一个系统划分为几个较小的子系统。如果把医院作为...原创 2021-07-29 15:19:29 · 108 阅读 · 0 评论 -
【设计模式系列7】装饰器模式
主要讲解装饰器Decoration模式。前言突然想写这个设计模式,是因为刚看了FactoryBean,因为它通过装饰模式,来进一步修饰Bean对象,所以想看看这个模式是怎么使用的。我理解这个设计模式,就是基于原来的对象进行装饰。装饰器模式基本概念装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。使用场景: 在不影响其他对象的情况下,以动态、透明的方式给单个...原创 2021-07-29 15:18:54 · 101 阅读 · 0 评论 -
【设计模式系列6】代理模式
主要讲解代理模式的实现方式,基于java。这个是目前设计模式的最后一篇文章,后面如果项目中用到其它的设计模式,会结合具体的实例,然后继续连载。前言首先了解一下代理模式的定义。为其他对象提供一种代理以控制这个对象的访问。涉及角色及说明:Subject(抽象主题类):接口或者抽象类,声明真实主题与代理的共同接口方法。RealSubject(真实主题类):也叫做被代理类或被委托类,定义了代理所表示的真实对象,负责具体业务逻辑的执行,客户端可以通过代理类间接的调用真实主题...原创 2021-07-29 15:17:34 · 89 阅读 · 0 评论 -
【设计模式系列5】单例模式
主要讲解单例模式和常用的几种实现方式,基于java。前言我理解单例应该是所有模式中,最简单,也是使用最多的一种,我就简单总结一下,首先了解一下单例模式的定义。确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。由单例的定义,可以分析出,实现一个单例,有以下几个要点: 构造函数必须私有化,防止外部调用构造函数进行实例; 提供静态函数获得该单例。 单例主要有两种种实现方式,懒汉模式和饿汉模式。懒汉模式在类加载时,不创建实例,因此类加载速度快...原创 2021-07-29 15:16:59 · 98 阅读 · 0 评论 -
【设计模式系列4】组合模式
主要讲解组合模式和实际应用的场景,基于Java。前言最初接触组合模式,是来源于我们小组同学的一个分享,他当时给我们讲购物车界面的重构,把之前的购物车大单体拆成了树状结构,就用到了组合模式。我们看一下组合模式的定义:组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。组合模式其实比较简单,层次很分明,主要包...原创 2021-07-29 15:15:44 · 125 阅读 · 0 评论 -
【设计模式系列3】builder模式
主要讲解建造者builder模式和实际应用的场景,基于java。前言讲解这个模式前,我先吐槽一下,我一开始是通过菜鸟教程了解这个设计模式,但是我发现,里面完全照本宣科!看得我一头雾水!!看完后我居然还是不知道怎么使用!!!我看设计模式,是为了想应用到具体的场景,不信大家可以去到菜鸟教程上看,然后我的例子中,也会展示菜鸟教程中的示例。我们先看一下建造者builder的解释:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。但是看完这个定义,并没有什么卵用...原创 2021-07-29 15:14:21 · 125 阅读 · 0 评论 -
【设计模式系列2】工厂模式
主要讲述工厂模式,以及实际应用的场景,基于java。看这篇文章前,最好能先看完上一篇文章“设计模式系列1”,因为知识有依赖关系。前言讲工厂模式,大家可能觉得会很Low,不就是搞个类,然后专门生成一个具体的对象嘛,这有什么难的。是的,工厂模式确实不难,但是问你一下,如果你的代码中有很多if...else,你知道怎么通过工厂模式,把这些if...else去掉么?“嗯,工厂模式我会,但是和去掉if...else好像没有关系吧?”我举个例子,假如你遇到如下代码:switch($tas...原创 2021-07-29 15:13:22 · 97 阅读 · 0 评论 -
【设计模式系列1 】模板模式&策略模式
分别讲述模板模式和策略模式的使用姿势,以及两者的区别,基于java。楼哥,天天看你写文章,感觉好无聊,要不先给我们讲个笑话吧。“嗯,讲什么呢?我先想想...”有个记者去南极采访一群企鹅,他问第一只企鹅:“你每天都干什么?”企鹅说:“吃饭,睡觉,打豆豆!”接着又问第2只企鹅,那只企鹅还是说:“吃饭,睡觉,打豆豆!”记者带着困惑问其他的企鹅,答案都一样,就这样一直问了99只企鹅。当走到第100只小企鹅旁边时,记者走过去问它:每天都做些什么啊?那只小企鹅回答:"吃饭,睡觉....原创 2021-07-29 15:08:38 · 210 阅读 · 0 评论