设计模式
文章平均质量分 90
刘望舒
腾讯最具价值专家,Android进阶书畅销前三: 《Android进阶指北》《Android进阶解密》《Android进阶之光》 作者 ,连续5年蝉联电子工业出版社年度优秀作者。国内首批Android开发者,10多年开发经验,前华为架构师、独角兽公司技术总监。国内唯一被百度百科收录的Android技术专家,谷歌开发者社区、Droidcon等技术大会特邀讲师,CSDN 2018年度十大博客之星。
展开
-
设计模式(十)工厂方法模式
在此前的设计模式(四)简单工厂模式中我们介绍了简单工厂模式,在这篇文章中我们来介绍下工厂方法模式,它同样是创建型设计模式,而且又有些类似,文章的末尾会介绍他们之间的不同。原创 2016-08-27 14:36:36 · 5925 阅读 · 3 评论 -
设计模式(五)观察者模式
观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听莫一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。原创 2016-03-02 17:41:50 · 136813 阅读 · 41 评论 -
设计模式(十六)原型模式
公众号有同学留言设计模式,才发现好久没有写设计模式了。关于创建型设计模式只差原型模式没写了,这一篇就来填补这个空缺。原创 2017-06-26 00:11:53 · 3023 阅读 · 0 评论 -
设计模式(十五)状态模式
建议在阅读本文前先阅读设计模式(十一)策略模式这篇文章,虽说状态模式和策略模式的结构几乎是相同的,但是它们所解决的问题是不同的,读完这两篇文章你就会有了答案。原创 2017-04-17 12:10:59 · 2789 阅读 · 0 评论 -
设计模式(十一)策略模式
当我们写代码时总会遇到一种情况就是我们会有很多的选择,由此衍生出很多的if…else,或者case。比如我们根据学生的成绩来评级,60分是及格,90分是优秀,这就会用到很多if…else或者case。当然很多个算法集中在一个类的时候就会使得这个类变得臃肿,维护的成本也会加大。原创 2016-09-16 15:29:29 · 6601 阅读 · 3 评论 -
设计模式(十四)中介者模式
写了很多篇设计模式的文章,才发现没有讲关于设计模式的分类,那么这一篇就补上这一内容,顺便带来中介者模式的讲解。并与此前讲过的代理模式和外观模式做对比。原创 2017-03-06 12:31:56 · 6689 阅读 · 2 评论 -
设计模式(十二)享元模式
享元模式是结构型设计模式的一种,是池技术的重要实现方式,它可以减少应用程序创建的对象,降低程序内存的占用,提高程序的性能。原创 2017-02-05 13:31:41 · 4472 阅读 · 9 评论 -
设计模式(十三)抽象工厂模式
此前讲解过简单工厂模式和工厂模式,这一篇我们来学习工厂系列的最后一个模式抽象工厂模式,建议在阅读此文前,请先阅读[设计模式(四)简单工厂模式]原创 2017-02-06 13:26:06 · 2939 阅读 · 0 评论 -
设计模式(六)代理模式
代理模式也叫委托模式,是结构型设计模式的一种。在现实生活中我们用到类似代理模式的场景有很多,比如代购、代理上网、打官司等。原创 2016-03-19 15:19:52 · 10740 阅读 · 2 评论 -
设计模式(八)外观模式
当我们开发Android的时候,无论是做SDK还是封装API,我们大多都会用到外观模式,它通过一个外观类使得整个系统的结构只有一个统一的高层接口,这样能降低用户的使用成本。原创 2016-07-25 10:26:25 · 14225 阅读 · 0 评论 -
设计模式(七)装饰模式
装饰模式是结构型设计模式之一,不必改变类文件和使用继承的情况下,动态地扩展一个对象的功能,是继承的替代方案之一。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。原创 2016-05-15 11:26:50 · 4745 阅读 · 8 评论 -
设计模式(四)简单工厂模式
简单工厂模式属于创建型模式又叫做静态工厂方法模式,是由一个工厂对象决定创建出哪一种产品类的实例。原创 2016-02-12 17:19:06 · 13221 阅读 · 9 评论 -
设计模式(三)建造者模式
建造者模式(builder)是创建一个复杂对象的创建型模式,将构建复杂对象的过程和它的部件解耦,使得构建过程和部件的表示分离开来。例如我们要DIY一个台式机电脑,我们找到DIY商家,我们可以要求这台电脑的cpu或者主板或者其他的部件都是什么牌子的什么配置的,这些部件是我们可以根据我们的需求来变化的,但是这些部件组装成电脑的过程是一样的,我们不需要知道这些部件是怎样组装成电脑的,我们只需要提供部件的牌子和配置就可以了原创 2016-02-11 13:43:14 · 8225 阅读 · 8 评论 -
设计模式(一)设计六大原则
1. 单一职责原则(SRP) 定义:就一个类而言,应该仅有一个引起它变化的原因。 从这句定义我们很难理解它的含义,通俗讲就是我们不要让一个类承担过多的职责。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到破坏。 比如我经常看到一些Android开发在Ac原创 2016-01-10 16:44:08 · 15691 阅读 · 6 评论 -
设计模式(九)模版方法模式
在软件开发中,有时会遇到类似的情况,某个方法的实现需要多个步骤,其中有些步骤是固定的,而有些步骤并不固定,存在可变性。为了提高代码的复用性和系统的灵活性,可以使用模板方法模式来应对这类情况。原创 2016-08-19 19:33:36 · 5912 阅读 · 3 评论 -
设计模式(二)单例模式的七种写法
面试的时候,问到许多年轻的Android开发他所会的设计模式是什么,基本上都会提到单例模式,但是对单例模式也是一知半解,在Android开发中我们经常会运用单例模式,所以我们还是要更了解单例模式才对。**定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。**原创 2016-01-17 10:29:15 · 74769 阅读 · 28 评论