
设计模式
文章平均质量分 95
腹黑大壁花
这个作者很懒,什么都没留下…
展开
-
戏说设计模式(四)简单工厂模式
0. 前言富士康大家都知道,它的工厂代工各种产品,比如手机、电视还有一些汽车组件等。那么在设计模式中的富士康模式又是什么呢?那就是工厂模式,下面我就来介绍一下工厂模式中简单的一种,那就是简单工厂模式1. 场景问题每个设计模式被创造出来的时候都是为了解决某些问题,所以在介绍简单工厂模式前,我先引出一个问题先。大家先可以回想一下接口的作用,总结起来就是“封装隔离”。封装:简单来说就是对具体实现的功能封原创 2016-12-05 09:07:12 · 525 阅读 · 0 评论 -
戏说设计模式(一)外观模式
0. 前言我发明了一个可以做菜的机器,它有一个菜单,可以给你做菜单里菜肴,如你选择菜单里的西红柿炒蛋,它就会给你来一盘西红柿炒蛋。你以为我在讲真?开玩喜,我只是想用这个例子讲一下外观模式(Facade)。1. 问题天生我才必有用,外观模式也不例外。在介绍外观模式前,得先说一下出现的问题。如我开头讲的那个机器,是不是很好用。试想一下如果没有那个机器,如果要做一个西红柿炒蛋,你就要处理西红柿、鸡蛋一顿辛原创 2016-11-25 16:32:46 · 1184 阅读 · 0 评论 -
戏说设计模式(二)适配器模式
0. 前言小弟前一部手机是安卓系统的Vivo手机,现在的手机是肾6(iphone 6),大家都知道,安卓充电线的接口和苹果充电线的接口是不同的。那么问题来了,因为我只有一条苹果的充电线,但是我白天在实验室,晚上在宿舍,那我又不想把这条线带来带去,有时候还会忘记带。怎么解决?新买一条线吗?再买一条线略贵,这时候我想起了我有一条安卓的充电线,想要废物利用,于是我去淘宝买了一个东东可以将安卓充电线接口转成原创 2016-11-26 10:53:21 · 1212 阅读 · 0 评论 -
Lazy initialization holder class模式
Lazy initialization holder class模式,这个模式综合使用了Java的类级内部类和多线程缺省同步锁的知识,很巧妙的同时实现了延迟加载和线程安全。1:先来看点相应的基础知识 先简单的看看类级内部类相关的知识。什么是类级内部类? 简单点说,类级内部类指的是:有static修饰的成员式内部类。如果没有static修饰的成员式内部类被称为对象级内部类。类转载 2016-11-26 20:58:26 · 785 阅读 · 0 评论 -
戏说设计模式(三)单例模式
0. 前言 找一个人惺惺相惜 找一颗心心心相印 在这个宇宙我是独一无二上面这是一句歌词哈,来自梁静茹的《给未来的自己》,我很喜欢听这首歌。当然,今天我并不是要说音乐,而是讨论设计模式,上面的歌词中有句“在这个宇宙我是独一无二”,而“独一无二”就是今天主角。很明显,除开平行宇宙之类的东西,每个人在全宇宙都是独一无二的。那么,在Java的世界里,怎么让一个实例成为独一无二的呢。答:使用单例模式。下原创 2016-11-26 21:17:06 · 422 阅读 · 0 评论 -
戏说设计模式(六)抽象工厂模式
1. 概述先来说一下生活中的场景。我们在组装电脑的时候通常都会选一系列的配件,如CPU、硬盘、内存和主板等等。这次讨论只考虑CPU和主板的问题。在选择配件的时候,我们都会参考一系列参数。比如选CPU的时候会考虑品牌、型号、针脚数目和主频等参数,选主板的时候会考虑品牌、芯片组和集成芯片等参数。在考虑完单个组件的问题后,还需要考虑一下配件与配件之间的兼容性。比如CPU和主板,如果CPU的针脚数和主板提供原创 2016-12-16 17:20:06 · 674 阅读 · 0 评论 -
研磨设计模式(七)生成器模式
1. 概述在生活上,我们经常需要一个指南,按照一定的步骤去完成一件事情,很多符合条件的人都可以按照指南上的步骤去完成这件事情,但是不用关心这些个人是如何完成这些步骤的。这类情况就有点像是设计模式中的生成器模式(Builder)。2. 生成器模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式结构图如下 其中:Builder:生成器接口,定义创建一个Pro原创 2016-12-20 18:06:05 · 1083 阅读 · 0 评论 -
戏说设计模式(五)工厂方法模式
概述工厂方法(Factory Method)模式的意义在于定义一个用于创建对象的接口,让子类决定实例化哪一个类,使一个类的实例化延迟到其子类中。其实工厂方法模式是对简单工厂模式的进一步抽象,相比简单工厂模式,工厂方法模式很好地实现了“开放封闭原则”。结构和说明工厂方法模式的结构图 - Product:定义工厂方法所创建的对象的接口,也就是实际需要使用的对象的接口。 - ConcretePro原创 2016-12-06 18:58:13 · 425 阅读 · 0 评论