本文章以读《Android源码设计模式》后做下简记。单例模式介绍单例模式可谓是都会用到的一个设计模式。单例顾名思义只有一个实例。就像规定任何时候你只能有一个老婆或直接没有老婆一样(都是泪)。Android中的LayoutInflater则使用的单例来进行访问。UML使用场景是在全局下,需要只有该类一个实例,避免产生多个对象消耗过多的资源,如访问IO或者数据库等资源的对象。这样访问该类中变量也是唯一
Android设计模式源码解析之策略模式本文为 Android 设计模式源码解析 中策略模式分析 Android系统版本:4.4.2 1. 模式介绍 模式的定义策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。注:针对同一类型操作,将复杂多样的处理方式分别开来,有选择的实现各自特有的操作。 模式的使用场
Android源码设计模式解析与实战》读书笔记一、引言这是工作的第10个月了,忙的时候总是不自觉的会发现,时间过得非常快。刚工作时参加培训的各种事情都还历历在目,但是已经是将近一年前的事情了。      并且最近一段时间,工作发生了一些变化,开始带技术团队进行版本开发,工作不再是简单的功能开发,模块开发,而是增添了许多需求的评审,需求的分解,任务的派分,代码的审核等
享元模式介绍享元模式也是用的比较多的一个模式。其目的是达到部分状态可共享,可共享的状态为内部状态(不随外部环境改变),不可共享为外部状态(可随外部环境改变)。原理即是做缓存对象处理。比如Android中的Message,推荐使用handler的obtain方法来获取一个message,这种方式获取的message是从message池里获取出来使用的,当使用完成之后,又recycle放回messag
IT行业,一直讲一句话,拼到最后都拼的是“内功”,而内功往往就是指我们处理问题的思路、经验、想法,而对于开发者来说,甚至对于产品也一样,都离不开一个“宝典”,就是设计模式。今天我们一起借助Android源码去探索一下设计的六大基本原则。同时结合我工作经验中的两个例子,来总结实践一下。1.背景&定义定义: 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计
结合Android源码和图片加载的例子,介绍设计模式的同时,在例子中实际运用,更易于读者对设计模式的理解和使用。本篇博客结合书中图片加载的例子和自己对知识点的理解,侧重记录下设计模式的使用,原理部分略过。第一章 走向灵活软件之路——面向对象的六大原则1.1 优化代码的第一步——单一职责原则    个人理解:“核心思想就是类的抽象和封装,将相同功能的代码封装
No1: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 No2: 在Android源码中,最常用到的Builder模式就是AlertDialog.Builder No3: WindowManager在java层的具体实现是WindowManagerImpl,Window对
No1: Activity继承于ContextThemeWrapper,继承于ContextWrapper,继承于Context。 No2: Context中方法的所有实现均由ContextImpl类承担。 No3: 启动一个Activity需要3个非常重要的对象:Application、Conte
No1: 定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 No2: 使用场景: 1)针对同一类型问题的多种处理方式,仅仅是具体行为有差别时 2)需要安全的封装多种同一类型的操作时 3)出现同一抽象类有多个子类,而又需要
转载 2017-11-01 11:30:00
185阅读
2评论
一般来说,常用的设计模式有以下八种:单例模式、工厂模式、观察者模式、代理模式、命令模式、适配器模式、合成模式、访问者模式。下面简单说一说各种模式的优缺点: 单例模式:目的是为了让系统中只有一个调用对象,缺点是单例使其他程序过分依赖它,而且不同单例运行在不同进程中,使得维护困难;单例模式,可以说是GOF的23种设计模式中最简单的一个。这个模式相对于其他几个模式比较独立,它只负责控制自己的实例化数量
android开发中使用到的一些设计模式-   引用:    书籍:何红辉《Android源码设计模式解析与实战》 引用: >>> 1.单例模式   单例模式应该是日常使用最为广泛的一种模式了。他的作用是确保某个类只有一个实例,避免产生多个对象消耗过多的资源。比如对数据库的操作时,就可以使用单例模式。   
作者:奔跑中的蜗牛666装饰者模式动态地给一个对象添加一些额外
转载 2021-12-10 13:48:24
161阅读
作者:奔跑中的蜗牛666装饰者模式动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。在架构设计时,应多用组合
转载 2022-01-24 11:41:49
85阅读
第四章、原型模式1、定义用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。被复制的实例就是“原型”,这个原型是可定制的。2、使用场景(1)类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等,通过原型拷贝避免这些消耗。 (2)通过new产生的一个对象需要非常繁琐的数据准备或者权限,这时可以使用原型模式。 (3)一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时
No1: 享元模式是对象池的一种实现。享元模式用来尽可能减少内存使用量,它适合用于可能存在大量重复对象的场景,来缓存可共享的对象,达到对象共享、避免创建过多对象的效果,这样一来就可以提升性能、避免内存移除等。 No2: UI不能够在子线程中更新。因为并不是UI不可以在子线程更新,而是UI不可以在不是
No1: 原型模式使用场景: 1)类初始化需要消耗非常多的资源,这个资源包括数据、硬件资源等,通过原型复制避免这些消耗 2)通过new产生一个对象需要非常繁琐的数据准备货访问权限,这是可以使用原型模式 3)一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式复制多
转载 2017-10-31 11:16:00
222阅读
2评论
No1: 模板方法模式包括:抽象类(其中定义了一系列顺序方法)、具体实现类A、具体实现类B 如果子类有实现不一样的细节,重写父类的某个方法即可 No2: AsyncTask对象调用execute方法后会依次执行onPreExecute、doInBackground、onPostExecute或onP
No1: 4种MediaPlayer Factory分别会生成不同的MediaPlayer基类:StagefrightPlayer、NuPlayerDriver、MidiFile和TestPlayerStub。四者均继承与MediaPlayerBase。 No2: 抽象工厂模式android源码
No1: 懒汉单例模式优缺点分析 优点:单例只有在使用时才会被实例化,在一定程度上节约了资源 缺点:第一次加载时需要及时进行实例化,反应稍慢,最大的问题是每次调用getInstance都进行同步,造成不必要的同步开销。 所以这种模式一般不建议使用 No2: Double Check Lock(DCL
转载 2017-10-30 15:26:00
89阅读
2评论
列子;不同的吃厂商需要不同的UI,进行打包 一般是结合泛型来用。 松耦合,调用方只需与工厂类交互,无需关心实例怎么创建的。扩展性强,只需新增一个实现类和修改工厂方法即可,这也算缺点的一方面。   首先先介绍一下标准的工厂方法模式,不带任何的变种.以工厂生产不同操作系统的手机为例. /***工厂模式的生产*/ public void factor
  • 1
  • 2
  • 3
  • 4
  • 5