
设计模式
文章平均质量分 79
Jack-Chan
非NB非知名Android开发者
展开
-
软件设计之高内聚低耦合
原文出处:http://blog.youkuaiyun.com/nengyu/article/details/421416351. 低耦合(Low Coupling)“低耦合”这个词相信大家已经耳熟能详,我们在看spring的书籍、MVC的数据、设计模式的书籍,无处不提到“低耦合、高内聚”,它已经成为软件设计质量的标准之一。那么什么是低耦合?耦合就是对某元素与其它元素之间的连接、感知和依赖的量度。这里所说的元素转载 2016-08-29 10:43:20 · 7639 阅读 · 0 评论 -
装饰者模式
概述装饰模式就是使用被装饰类的一个子类的实例,在客户端将这个子类的实例交给装饰类;是继承的替代方案,装饰模式应该为所装饰的对象增强功能装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为。装饰模式是一种用于替代继承的技术,它通过一种无须定义子类的方式来给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系。转载 2016-09-20 18:27:33 · 443 阅读 · 0 评论 -
Android源码设计模式分析项目
原文链接:https://github.com/simple-android-framework/android_design_patterns_analysisAndroid源码设计模式分析开源项目该系列文章已经重新深度整理并出版该系列文章已经根据技术发展、实战需求以及读者您的反馈重写所有章节,并且加入更加深入的核心机制分析以及模式在Android开发中的实战,以便帮助大家更系统的学习。书籍已经出转载 2016-12-24 21:04:01 · 2300 阅读 · 0 评论 -
迭代器模式
定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。类型:行为类模式类图:如果要问java中使用最多的一种模式,答案不是单例模式,也不是工厂模式,更不是策略模式,而是迭代器模式,先来看一段代码吧: public static void print(Collection coll){ Iterator it = coll.iterator();转载 2016-09-20 23:58:03 · 572 阅读 · 0 评论 -
Builder构造者设计模式
原文出处:http://blog.youkuaiyun.com/yanbober/article/details/45338041概述建造者模式将客户端与包含多个组成部分的复杂对象的创建过程分离,客户端压根不用知道复杂对象的内部组成部分与装配方式,只需要知道所需建造者的类型即可。它关注如何一步一步创建一个的复杂对象,不同的具体建造者定义了不同的创建过程,且具体建造者相互独立,增加新的建造者非常方便,无须修改已有原创 2016-09-20 18:23:50 · 2105 阅读 · 0 评论 -
MVC,MVP,MVVM设计模式的比较
MVC,MVP,MVVM设计模式的比较原创 2016-09-20 15:07:55 · 4395 阅读 · 0 评论 -
观察者设计模式
观察者模式定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式的别名包括发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式是一种对象行为型模式原创 2016-09-20 16:45:36 · 613 阅读 · 0 评论 -
适配器设计模式
1. 概述适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。在Android中充分利用了适配器来实现view和数据的联系2. 角色介绍Target接口(目标角色):5v电压Adaptee(源角色):220v电压Adapter(适配器):把220v电压转变成5v3. 经典案原创 2016-09-20 19:21:10 · 487 阅读 · 0 评论 -
享元模式
是对对象池的一种实现,共享对象,避免重复的创建,采用一个共享来避免大量拥有相同内容对象的开销。使用享元模式可有效支持大量的细粒度对象。如果很多很小的对象它们有很多相同的东西,并且在很多地方用到,那就可以把它们抽取成一个对象,把不同的东西变成外部的属性,作为方法的参数传入。转载 2016-09-20 19:49:00 · 1298 阅读 · 0 评论 -
Android中的设计模式-状态模式
原文出处:http://www.linuxidc.com/Linux/2015-04/116013.htm状态模式说明“状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。” –《JAVA与模式》 管理者持有多种状态,状态切换后,管理者调用Handle方法时,间接调用状态类中的Handle方法,从而根据当前状态的不同,就可以表现出不同的结果。状态模式类图状转载 2016-11-13 21:57:35 · 2229 阅读 · 0 评论 -
单例模式
当我们有这样的需求:某一些类应该只存在一个实例 的时候,我们就可以用单例模式来应对.单例模式:确保一个类只有一个实例,并提供一个全局访问点. 单例模式是所有设计模式中最简单的一个,也是大部分人最早知道的一个设计模式.但是即使是最简单的转载 2016-04-28 17:40:12 · 484 阅读 · 0 评论 -
策略模式
策略模式概念定义一系列算法,把他们独立封装起来,并且这些算法之间可以相互替换。策略模式主要是管理一堆有共性的算法,客户端可以根据需要,很快切换这些算法,并且保持可扩展性。策略模式的本质:分离算法,选择实现。转载 2016-09-21 17:42:01 · 469 阅读 · 0 评论 -
单例设计模式
概述单例模式就是要确保类在内存中只有一个对象,该实例必须自动创建,并且对外提供。避免产生多个对象消耗过多的资源,比如数据库的操作,网络请求优点是:在系统内存中只存在一个对象,因此可以节约系统资源,对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能。缺点是:没有抽象层,因此扩展很难。职责过重,在一定程序上违背了单一职责饿汉式volatile:线程在每次使用变量的时候,都会读取变量修改后的最原创 2016-09-05 23:16:54 · 549 阅读 · 0 评论 -
工厂模式
1. 概述又叫静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例2. 优缺点客户端不需要在负责对象的创建,从而明确了各个类的职责这个静态工厂类负责所有对象的创建,如果有新的对象增加,或者某些对象的创建方式不同,就需要不断的修改工厂类,不利于后期的维护3. 静态工厂有名称不必在每次调用他们的时候创建一个新的对象可以返回原返回类型的任何子类型的对象public class Static原创 2016-09-20 19:37:01 · 391 阅读 · 0 评论 -
工厂方法模式
1. 概述定义一个用于创建对象的接口,让子类决定实例化那个类。在任何需生成复杂对象的地方,都可以使用工厂方法模式。复杂对象适合使用工厂模式,用new就可以完成创建的对象无需使用工厂模式。2. 四大角色抽象工厂,具体工厂,抽象角色,具体角色3. 经典案例ArrayList,HashSet,List和Set都是工厂接口原创 2016-09-20 19:39:25 · 508 阅读 · 0 评论 -
模板设计模式
1. 概述模版方法模式就是定义一个算法的骨架,而将具体的算法延迟到子类中来实现2. 模式的使用场景多个子类有公有的方法,并且逻辑基本相同时。重要、复杂的算法,可以把核心算法设计为模板方法,周边的相关细节功能则由各个子类实现。重构时,模板方法模式是一个经常使用的模式,把相同的代码抽取到父类中,然后通过钩子函数约束其行为。3. 优缺点优点:使用模版方法模式,在定义算法骨架的同时,可以很灵活的实原创 2016-09-20 19:41:56 · 442 阅读 · 0 评论 -
代理模式
1. 概述代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。代理模式则是给一个对象提供一个代理对象,并有代理对象来控制对原有对象的引用。 动态代理接口InvocationHandler2. 经典案例2.1. ActivityManager 2.2. Collections 2原创 2016-09-20 19:47:14 · 377 阅读 · 0 评论 -
模板方法模式
模板方法模式定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。转载 2016-09-20 19:32:56 · 445 阅读 · 0 评论 -
原型模式
原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。转载 2016-09-20 22:19:28 · 394 阅读 · 0 评论 -
组合模式
概述Android中对组合模式的应用,可谓是泛滥成粥,随处可见,那就是View和ViewGroup类的使用。在android UI设计,几乎所有的widget和布局类都依靠这两个类。组合模式,Composite Pattern,是一个非常巧妙的模式。几乎所有的面向对象系统都应用到了组合模式转载 2016-09-21 15:31:27 · 444 阅读 · 0 评论 -
Java设计模式
Sunny在优快云技术博客中陆续发表了100多篇与设计模式学习相关的文章,涵盖了七个面向对象设计原则和24个设计模式(23个GoF设计模式 + 简单工厂模式),为了方便大家学习,现将所有文章的进行了整理,方便大家下载阅读,希望能给各位带来帮助!原创 2017-03-21 17:34:08 · 1920 阅读 · 1 评论