
设计模式
MrSimp1e
这个作者很懒,什么都没留下…
展开
-
Java装饰模式
装饰模式:动态地给一个类添加一些额外的职责,并且在添加这些职责时不会影响该类的执行逻辑,例如通过BufferedInputStream装饰InputStream来添加数据缓冲功能。下面以女人化妆为例来演示装饰模式,如下 : 接口类型 : package com.umeng.dp.decorator;/** * @Copyright: Umeng.com, Ltd. Copyri原创 2013-11-13 12:53:22 · 2153 阅读 · 1 评论 -
Android源码分析之抽象工厂模式
Android源码之抽象工厂模式一个对象族或者一组没有任何关系的对象都有相同的约束,都可以使用抽象工厂模式(工厂方法模式是一个具体工厂创建一个类型的对象,抽象工厂模式是一个具体工厂创建一个产品族或者一系列的产品对象)。原创 2014-04-22 14:51:56 · 4616 阅读 · 3 评论 -
Android源码分析之工厂方法模式
Android源码之工厂方法模式模式的定义 定义一个用户创建对象的接口,让子类决定将哪一个类实例化。工厂方法使一个类的实例化延迟到子类。原创 2014-04-21 17:41:34 · 4271 阅读 · 5 评论 -
Android源码分析之单例模式
确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。Android源码LayoutInflater类分析原创 2014-04-23 13:22:56 · 5475 阅读 · 2 评论 -
Android源码分析之简单工厂模式
Android源码设计模式之简单工厂原创 2014-04-17 17:13:46 · 5966 阅读 · 2 评论 -
Android源码分析之Builder模式
Android源码分析之AlertDialog.Builder模式原创 2014-04-24 12:47:12 · 6963 阅读 · 2 评论 -
Java适用于高并发的单例模式
将synchronized放在 if ( mInstance == null ) 而不直接添加在getInstance方法上,是避免每次都同步该方法而导致的效率低下,当mInstance初始化过后则不需要同步。保证了效率。简单实现如下: package com.umeng.dp.singleton;/** * @Copyright: Umeng.com, Ltd. Copyright原创 2013-11-12 13:02:32 · 3226 阅读 · 0 评论 -
Objective-c单例模式的正确写法
单例模式在iOS开发中可能算是最常用的模式之一了,但是由于oc本身的语言特性,想要写一个正确的单例模式相对来说比较麻烦,这里我就抛砖引玉来聊一聊iOS中单例模式的设计思路。原创 2014-12-17 12:52:12 · 25656 阅读 · 4 评论 -
Android源码之ListView的适配器模式
通过增加Adapter一层来将Item View的操作抽象起来,ListView等集合视图通过Adapter对象获得Item的个数、数据元素、Item View等,从而达到适配各种数据、各种Item视图的效果。因为Item View和数据类型千变万化,Android的架构师们将这些变化的部分交给用户来处理,通过getCount、getItem、getView等几个方法抽象出来,也就是将Item View的构造过程交给原创 2015-02-26 09:12:29 · 14010 阅读 · 14 评论 -
Android开源库与设计模式开源组SAOS建立
Android知名开源库简版实现开源项目通过分析并实现Android平台知名开源框架的简单版本深入了解开源库核心技术,并对这些库的设计思想有一定的了解;Android源码设计模式分析开源项目通过分析Android系统中的设计模式来加深大家对设计模式的理解,从源码的角度来剖析既增加了对Android系统本身的了解,也从优秀的设计中领悟模式的实际运用以及它适用的场景,避免在实际开发中的生搬硬套,提高开发人员的设计能力。原创 2015-03-02 00:01:49 · 6088 阅读 · 21 评论 -
模板方法和接口参数的联合使用 [ 同一请求,不同处理方式 ]
在开发中,我们经常要进行网络请求,并且对返回的数据进行处理。但是不同的请求返回的数据不同,因此对数据的处理也不同。如何如何设计解析数据的类型或者方法成了一个难点。下面使用模板方法和接口参数来演示一下 : package com.umeng.dp.templatemethod;/** * @Copyright: Umeng.com, Ltd. Copyright 2011-2原创 2013-11-12 14:07:32 · 3831 阅读 · 0 评论 -
简单模拟Android中AlertDialog的Builder设计模式
在Android中经常要使用AlertDialog来显示一些简单的窗口,通常的写法类似下面的代码 : AlertDialog dialog = new AlertDialog.Builder(MainActivity.this).setTitle("提示") .setMessage("确定退出?").create(); dia原创 2013-11-12 16:16:10 · 7659 阅读 · 1 评论 -
设计模式--开闭原则
开闭原则:指的是一个软件实体应对对扩展开发,对修改关闭(Software entities should be open for extension, but closed for modification)。这个原则是说在设计一个模块的时候,应对使这个模块可以在不被修改的前提下被扩展,换言之,应对可以不必修改源代码的情况下改变这个模块的行为。根据开闭原则,在设计一个软转载 2013-05-14 22:53:36 · 1964 阅读 · 0 评论 -
设计模式-观察者模式(上)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lavasoft.blog.51cto.com/62575/201617设计模式-观察者模式(上) 本文参考Head First设计模式一书,感觉书中的例子实在很好,很贴切。对模式的知识点进行总结,并对书的源码做了一定注释。 观察转载 2012-04-08 17:14:23 · 1229 阅读 · 0 评论 -
设计模式-观察者模式(下)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lavasoft.blog.51cto.com/62575/201633设计模式-观察者模式(下) 观察者模式在Java中有两种实现方式,上文是一种方式,这种方式是自己写代码实现。另一种方式是使用Java内置的观察者模式来实现。转载 2012-04-08 17:14:51 · 1181 阅读 · 0 评论 -
确保对象的唯一性——单例模式 (一)
对于一个软件系统的某些类而言,我们无须创建多个实例。举个大家都熟知的例子——Windows任务管理器,如图3-1所示,我们可以做一个这样的尝试,在Windows的“任务栏”的右键弹出菜单上多次点击“启动任务管理器”,看能否打开多个任务管理器窗口?如果你的桌面出现多个任务管理器,我请你吃饭,(注:电脑中毒或私自修改Windows内核者除外)。通常情况下,无论我们启动任务管理多少次,Windows系统转载 2012-04-08 18:35:31 · 1538 阅读 · 0 评论 -
(02)-工厂方法(Factory Method)模式
1.2 工厂方法(Factory Method)模式 工厂方法模式是类的创建模式,又叫虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。 工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际工作推迟到子类中。 1.2.1 工厂方法模式的引进 工厂方法模式是简单工转载 2012-04-08 17:07:07 · 1164 阅读 · 0 评论 -
(03)-抽象工厂模式
1.3 抽象工厂(Abstract Factory)模式 抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品具体类型的情况下,创建多个产品族中的产品对象。这就是抽象工厂模式的用意。 每个模式都是针对一定问题的解决方案。抽象工厂模式面对的问题是多产品等级结构的系统设计。 在学习抽象工厂具体实例之前,应该明白两个重要的概念:产品族和产品等级。 产转载 2012-04-08 17:08:48 · 1257 阅读 · 0 评论 -
(04)-单例模式
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lavasoft.blog.51cto.com/62575/41983Java设计模式圣经连载(04)-单例模式 单例模式是一种常见的设计模式,在《Java与模式》一书中,阎宏博士对单例模式做了全面的总结。单例模式分三种:懒汉式单例、饿汉式单例、转载 2012-04-08 17:11:43 · 1191 阅读 · 0 评论 -
Java设计模式圣经连载(01)-简单工厂模式
1.1 简单工厂(Simple Factory)模式简单工厂模式是类的创建,又叫静态工厂方法(Static Factory Methord)模式。简单工厂模式是由一个工厂对象决定创造哪一种产品类的实例。 1.1.1 工厂模式的几种形态工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态的决定将哪一个类实例化,工厂模式有以下几种形态: 简单工转载 2012-04-08 17:05:38 · 1427 阅读 · 0 评论 -
(05)-代理模式
Java设计模式圣经连载(05)-代理模式 代理模式是一种非常重要的设计模式,在Java语言中有着广泛的应用,包括Spring AOP的核心设计思想,都和代理模式有密切关系。 代理模式主要分两种:一种是静态代理,一种是动态代理。两种代理方式的实现有着本质的差异。 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,转载 2012-04-08 17:12:45 · 1310 阅读 · 0 评论 -
设计模式概述
一、设计模式的六大原则1、开闭原则(Open Close Principle)开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。2、里氏代换原则(Liskov Substitutio原创 2012-12-15 17:59:43 · 1388 阅读 · 0 评论 -
依赖倒置原则
本文译自Robert C. Martin于1996年发表的文章,将分为三部分贴在这里。原文可参看http://www.objectmentor.com/resources/articles/dip.pdf。这是我给《C++报导》“工程笔记”专栏的第三篇文章。这个专栏的文章专注于C++和OOD的使用,及软件工程方面的问题。我将努力写一些编程方面的,对处在战壕中的软件工程师直接有用的文章。这些转载 2013-01-08 15:12:51 · 1977 阅读 · 0 评论 -
设计模式学习网址
http://blog.youkuaiyun.com/zhangerqing/article/details/8194653原创 2013-04-19 22:36:04 · 1774 阅读 · 0 评论 -
教你写Android ImageLoader框架之图片加载与加载策略
在教你写Android ImageLoader框架之初始配置与请求调度中,我们已经讲述了ImageLoader的请求配置与调度相关的设计与实现。今天我们就来深入了解图片的具体加载过程以及加载的策略(包括按顺序加载和逆序加载) ,在这其中我会分享我的一些设计决策,也欢迎大家给我提建议。原创 2015-03-09 16:04:52 · 7683 阅读 · 8 评论