勇往直前的专栏

写给以后的自己

Spring 中策略模式的 2 个经典应用,可以用来怼面试官了

一、背景 程序员在项目实战中,策略模式用的非常多。 二、学习目标 会在Spring项目中运用策略模式 三、代码例子 废话不多说,Java的软件开发们注意啦,开车啦! 下面是一个查询业务使用策略模式的案例 查询业务A的具体实现: 查询业务B的具体实现: 查询业务C...

2019-05-09 21:45:17

阅读数 1150

评论数 0

面试官:不使用synchronized和lock,如何实现一个线程安全的单例?

单例,大家肯定都不陌生,这是Java中很重要的一个设计模式。稍微了解一点单例的朋友也都知道实现单例是要考虑并发问题的,一般情况下,我们都会使用synchronized来保证线程安全。 那么,如果有这样一道面试题:不使用synchronized和lock,如何实现一个线程安全的单例? 你该如何回答...

2019-04-27 09:45:52

阅读数 117

评论数 1

Mybatis 使用的 9 种设计模式,真是太有用了~

来源:crazyant.net/2022.html 虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。 Mybatis至少遇到了以下的设计模式的使用: Bu...

2019-04-15 21:52:33

阅读数 307

评论数 0

反模式:神仙大类和黄金大锤

数学中有正数和负数 物理学有『物质』和『反物质』的存在 武侠小说中有九阳神功也有九阴真经 生活中有婚姻也有出轨 ...... 事物总是充满这种相互矛盾而统一的有趣现象。 对于GoF提出的23种设计模式,是否也有反模式呢?答案是显而易见的。 一个设计模式在特定的场合下是积极并且显现优势...

2019-03-28 09:21:51

阅读数 241

评论数 1

为什么Python不用设计模式?

来自:码农翻身(微信号:coderising) 在遥远的Python王国,有一位少年,非常热爱编程,他的父母想给他报一个班,问了万能的朋友圈以后,发现大家都推荐同一个老师,人称吉先生。 于是他的父母毫不犹豫就交了一笔不菲的学费,每周六日下午让孩子去学习。 少年学习非常刻苦,很快就学会了Py...

2019-03-12 09:41:25

阅读数 771

评论数 3

利用策略模式优化过多 if else 代码

本文转载自微信公众号:corssoverJie 前言 不出意外,这应该是年前最后一次分享,本次来一点实际开发中会用到的小技巧。 比如平时大家是否都会写类似这样的代码: if(a){ //do something }else if(b){ //do something }else if...

2019-03-12 09:33:40

阅读数 225

评论数 0

常用的设计模式汇总,超详细!

来源:cnblogs.com/ILoke-Yang/p/8054466.html 单例模式 简单点说,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。 getInstance()...

2019-03-01 09:41:32

阅读数 221

评论数 2

Java 实现单例模式的 9 种方法

一. 什么是单例模式 因进程需要,有时我们只需要某个类同时保留一个对象,不希望有更多对象,此时,我们则应考虑单例模式的设计。 二. 单例模式的特点 单例模式只能有一个实例。 单例类必须创建自己的唯一实例。 单例类必须向其他对象提供这一实例。 三. 单例模式VS静态...

2019-01-09 09:55:34

阅读数 95

评论数 0

千万别用设计模式?

面向对象的设计模式(以下简称DP)是22年前GoF四位大师共同著述的,今天依然在设计中发挥重要的指导作用。 但是如果没有一定的实际开发经验与代码编写量,或者为了设计模式而设计模式,那么建议还是暂时不要管它。 建议从最简单的KISS原则开始,或者从一定的代码量后,追求可读性追求更高目标,可以先做...

2018-12-27 09:56:09

阅读数 667

评论数 0

你们要的动图来了:2张动图快速理解高内聚与低耦合

模块 模块就是从逻辑上将系统分解为更细微的部分, 分而治之, 复杂问题拆解为若干简单问题, 逐个解决. 耦合主要描述模块之间的关系, 内聚主要描述模块内部. 模块的粒度可大可小, 可以是函数, 类, 功能块等等. 耦合 模块之间存在依赖, 导致改动可能会互相影响, 关系越紧密, 耦合越强,...

2018-12-18 22:29:09

阅读数 268

评论数 0

设计模式之动态代理模式实战

昨天分享了静态代理的概念及存在的缺点,所以今天讲的动态代理模式十分重要。动态代理在我们工作当中应用相当广泛,如Srping AOP就是动态代理的在开源框架的比较出名的应用。 动态代理有两种试,一是通过JDK自带的API实现动态代理,二是通过别的字节码框架实现,如cglib。 需要注意的是J...

2018-11-13 11:18:06

阅读数 87

评论数 1

设计模式之单例模式实践

概念 单例模式即一个JVM内存中只存在一个类的对象实例   分类 1、懒汉式 类加载的时候就创建实例 2、饿汉式 使用的时候才创建实例   当然还有其他的生成单例的方式,双重校验锁,枚举和静态内部类,文中会有介绍   实践 懒汉式 1)线程不安全,不可用 ...

2018-11-13 10:48:26

阅读数 66

评论数 0

Spring 框架用到的 9 个设计模式汇总!

1. 简单工厂 又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。 Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得B...

2018-11-04 00:35:05

阅读数 6339

评论数 0

Spring框架中的设计模式(五)

命令模式 这篇文章描述的第一个行为设计模式是命令。它允许将请求封装在一个对象内并附加一个回调动作(每次遇到所所谓的回调大家就只需要理解为一个函数方法就好,省的去浪费那么多脑子)。请求被封装在命令对象之下,而请求的结果被发送到接收者。命令本身不是由调用者执行。为了直白了解其中的主要思想,想象一下管...

2017-11-27 14:27:53

阅读数 254

评论数 0

Spring框架中的设计模式(四)

适配器 当我们需要在给定场景下(也就是给定接口)想要不改变自身行为而又想做到一些事情的情况下(就是我给电也就是接口了,你来做事也就是各种电器),使用适配器设计模式(这里再说一点,就相当于我们再一个规章制度的环境下,如何去适应并达到我们期待的效果,放在架构设计这里,可以拿一个php系统和一个Jav...

2017-11-27 11:04:41

阅读数 266

评论数 0

Spring框架中的设计模式(三)

原型模式 这篇文章的第一个设计模式是原型。可以通过官方文档查找有关Spring作用域中的bean作用域的文章中介绍了类似的概念(prototype)。原型设计模式与有用相同名称的(prototype)作用域有点相似。此设计模式允许通过复制已存在的对象来创建一个对象的实例。副本应该是真正的副本。这...

2017-11-27 10:54:12

阅读数 117

评论数 0

Spring框架中的设计模式(二)

代理模式 面向对象编程(OOP)可能是编程中最流行的概念。然而,Spring引入了另一种编码规范,面向切面编程(AOP)。为了简化定义,AOP是面向系统特定点的一种编程,如:异常抛出,特定类别方法的执行等.AOP允许在执行这些特定点之前或之后执行补充动作。如何实现这种操作?它可以通过监听器(li...

2017-11-27 10:19:13

阅读数 126

评论数 0

Spring框架中的设计模式(一)

设计模式有助于遵循良好的编程实践。作为最流行的Web框架之一的Spring框架也使用其中的一些。 本文将介绍Spring Framework中使用的设计模式。这是5篇专题文章的第一部分。这次我们将发现Spring框架中使用的4种设计模式:解释器,构造器,工厂方法和抽象工厂。每部分将首先解释给定...

2017-11-27 10:06:18

阅读数 239

评论数 0

彻底理解Java动态代理

代理设计模式 定义:为其他对象提供一种代理以控制对这个对象的访问。 动态代理使用 java动态代理机制以巧妙的方式实现了代理模式的设计理念。 代理模式示例代码 public interface Subject { public void doSomething(); ...

2017-11-02 14:48:58

阅读数 194

评论数 0

对Java Inputstream的一次采访

在学习java.io.*包的时候,InputStream那一群类很让人反感,子类繁多就不用说,使用起来非常奇怪。我们想以缓存的方式从文件中读取字节流。总要先创建一个FileInputStream,然后把它放入BufferedInputStream构造函数中去创建BufferedInputStrea...

2017-05-26 08:40:27

阅读数 1214

评论数 1

提示
确定要删除当前文章?
取消 删除