努力奔跑中的coder

源代码的github地址:https://github.com/louyuting

线程安全的单例模式也可以很精彩

这篇博客以多种方式实现单例模式,包括非线程安全、线程安全的单例模式以及线程安全的优化。 饿汉式单例; 懒汉式单例(延迟初始化);(线程不安全) 线程安全的单例-synchronized方法 线程安全的单例-同步代码块 线程安全的单例-显式锁ReentrantLock进...

2017-01-22 22:59:55

阅读数:1497

评论数:1

9. 建造者模式

建造者模式属于创建型模式 先来看看定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式适用范围: 1、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 2、当构造过程必须允许被构造的对象有不同表示时。建造者模式的结构: ...

2017-01-06 18:02:26

阅读数:171

评论数:0

8. 工厂方法设计模式

工厂方法模式属于创建型模式 先来看看定义: 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到了其子类。 工厂方法模式工厂方法模式是对简单工厂模式的进一步抽象的结果。在简单工厂模式中(关于简单工厂模式可以看这篇博文),对类型判断的所有if…els...

2017-01-06 14:12:04

阅读数:203

评论数:0

0. 设计模式概述

1、什么是设计模式?设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易地被他人理解、保证代码可靠性。毫无疑问,设计模式于己于人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石...

2017-01-06 11:15:42

阅读数:220

评论数:0

7. 装饰者模式--如何不同风格打扮自己

定义 装饰模式:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。

2016-07-15 12:32:53

阅读数:248

评论数:0

6. 依赖倒转原则

定义: 依赖倒转原则: 1.高层模块不应该依赖于底层模块。两个都应该依赖于抽象。 2.抽象不应该依赖于细节。细节应该依赖于抽象。 简单点说:我们需要针对接口编程二不是针对实现编程。

2016-07-15 10:22:56

阅读数:199

评论数:0

5. 开放封闭原则

定义: 开放封闭原则:软件实体(类、模块、函数等等)应该可以扩展但是不能修改。 这个原则的两个特征就是:1.对于扩展是开放的。 2.对于更改是封闭的。

2016-07-15 09:09:10

阅读数:212

评论数:0

4. 单一职责模式

单一职责模式 单一职责模式:就一个类而言,应该仅有引起它变化的原因。 如果一个类承担的责任过多,就等于把这些责任耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。

2016-07-15 08:57:10

阅读数:206

评论数:0

3. 单例模式--某些类也需要计划生育

1. 单例模式 在我们使用一些框架时(比如Mybatis),经常会遇到有些类(比如sqlSessionFactory),这些类在系统 运行的过程中只需要一个实例对象,所以我们一般都是交给spring来管理。这种情况就类似于:我们对于该类的管理中,只允许生成一个对象实例。这时候我们必须对构造方法做...

2016-06-24 11:08:42

阅读数:310

评论数:0

2. 代理模式-为别人做嫁衣

今天来说另外一个设计模式:代理模式。举个例子:张三想追李娇娇同学,这里李娇娇同学不认识张三。张三让戴笠帮忙去送花送零食之类的,最后李娇娇同学和戴笠在一起了,张三为戴笠做了嫁衣。下面来详细解释:

2016-06-23 21:52:55

阅读数:269

评论数:0

1. 简单工厂设计模式

设计模式之简单工厂设计模式 今天从图书馆借来了好久都没借到到《大话设计模式》这本书,据说这本书特别适合入门级别,讲课也是诙谐幽默,终于有机会来拜读,闲话不扯,直接开始干货。(本文均是以java语言实现) 以一个实际的例子为例:实现一个简单计算器的控制台程序,输入两个数据和一个运算符得到结果。 ...

2016-05-20 09:57:51

阅读数:261

评论数:0

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