设计模式
DakerYi
Learn and share!
展开
-
单例模式 (懒汉式, 线程同步详解)
单例模式(懒汉式)在懒汉式写法中, 我们需要非常注意线程同步的问题. 大概有一下几个: 1. getInstance() 直接锁方法好不好 2. 双重锁定 3. synchronized(this)行不行1. getInstance() 直接锁方法好不好这种写法:class Singleton { private static Singleton instance; priva原创 2016-04-13 10:44:54 · 4907 阅读 · 1 评论 -
装饰器模式(从放弃到入门)
装饰器模式(从放弃到入门)@(设计模式)前面介绍了两篇设计模式,策略模式和观察者模式,其实自己也是在学习阶段,感觉收益很大。所以想继续分享,把java中的23中设计模式都总结一遍,在以后才能在实践中灵活运用。感兴趣的童鞋可以看看前面分享的两篇: 策略模式 观察者模式前面两篇都是上来就是例子,需求,我想改变一下套路,今天先介绍装饰器的理论结构,再说例子。还是要再声明:例子来自于《HeadFirst原创 2016-10-22 13:45:04 · 1455 阅读 · 0 评论 -
强引用,软引用,弱引用,虚引用简介
Java中的四种引用最近找工作,只要是面java一定遇到这个问题。所以姑且也自己写一篇总结一下。从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。4种引用介绍1.强引用 平时我们编程的时候例如:Object object=new Object();那object就是一个强引用了。如果一个对象具有强引转载 2016-10-17 23:43:58 · 530 阅读 · 0 评论 -
策略模式(从放弃到入门)
策略模式(来自HeadFirst设计模式)今天看了 Head First 设计模式的第一个模式,居然是策略模式,感觉这种模式很实用,而且书上写了20多页,我这里做一下精简,给大家分享一下,在最后也有一些自己的思考。既然是精简,所以一定会有一些省略,如果要看详细的,看看原书吧,写得很不错!需求1,父类实现问题由来现在要设计一只鸭子类,所有的鸭子都可以游泳,不同的鸭子样外貌可能不一样。刚拿到这个需求,很原创 2016-10-19 10:45:26 · 855 阅读 · 0 评论 -
观察者模式(从放弃到入门)
观察者模式(从放弃到入门)观察者模式从放弃到入门需求1错误示范需求2观察者模式认识观察者模式需求3Java中自带的观察者模式思考源码Observable Observer 解析一些体会今天分享第二个模式,观察者模式。相信作Android开发或者Java开发的童鞋都听说过这个模式,而且有很多流行的框架都是使用了观察者模式,例如著名的RxJava。而且Java中直接就自带了观察者模式,可原创 2016-10-20 10:30:10 · 3156 阅读 · 0 评论 -
简单工厂模式,工厂方法模式,抽象工厂模式(从放弃到入门)
简单工厂模式,工厂方法模式,抽象工厂模式(从放弃到入门)@(设计模式)工厂模式,很多讲设计模式的书中,工厂模式都是第一个讲的模式,因为其最简单。但是在实际开发中,工厂模式是非常常见的。在java开发中经常遇到一个类叫 xxxFactory,虽然不是所有带 Factory的类都是工厂模式,但是肯定是有一定原因的,今天我们顺便分析一下Android中一个重要的Factory类: BitmapFactor原创 2016-10-31 14:06:05 · 1027 阅读 · 0 评论 -
单例模式(从放弃到入门)
单例模式(从放弃到入门)@(设计模式)类图简介单例模式,可以说是设计模式中最简单的模式之一了,因为它不是用来解耦合用的,而是为了让整个系统有且只有一个这样的对象。为什么要只有一个呢??如果有些对象对象非常大,我需要保证内存中只存在一个;如果我希望做一些控制,只能由一个事例对象来控制,都会用到单例模式。接下来我们就由浅入深的来探索单例模式的写法:饿汉式饱汉式线程安全双重检查加锁面试问题问题原创 2016-10-31 22:29:28 · 2548 阅读 · 9 评论