白话 Android 设计模式
用平白的叙述讲述 Android 常见设计模式,以及使用技巧,优缺点等
放大的EZ
本人郑重声明,本博客所编文章、图片版权归权利人持有,本博只做学习交流分享所用,不做任何商业用途。访问者可將本博提供的內容或服务用于个人学习、研究或欣赏,不得用于商业使用。同時,访问者应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人的合法权利;如果用于商业用途,须征得相关权利人的书面授权。若文章、图片的原作者不愿意在此展示內容,请及时通知在下,將及时予以刪除。
展开
-
白话 Android 设计模式之 合成复用原则
文章目录1、简介2、实例简介1、简介尽量使用对象组合/聚合, 而不是继承关系达到软件复用的目的。什么意思呢,就是使用代码实现功能的时候。尽量的使用对象组合的形式,不要采用继承等方式。比如我们有老师和学生,老师有一个方法是讲课,学生也可以去讲课,用继承的方式我们很好理解。那么老师有啥学生有啥,老师变啥学生也要变啥,这就导致学生和老师之间有一定的耦合性。那倘若我既想要老师的方法,又不想被...原创 2020-03-23 11:20:09 · 261 阅读 · 0 评论 -
白话Android 设计模式之 最少知道原则
文章目录1、简介2、实例展示。1、简介最少设计原则,一个实体应当尽量少的与其他实体之间发生作用,使得系统模块功能相对独立。也就是说一个软件实体应该尽可能少的与其他实体对象发生作用。这样,当一个模块修改时,就会尽量少的影响其他的模块。我们举一个商店买东西的例子,就是你付钱给售货员,然后他给你商品一种设计模式是:也就是 钱是属于顾客的和顾客有关系,但是这个时候钱直接被售货员获取!商品...原创 2020-03-20 16:19:48 · 184 阅读 · 0 评论 -
白话Android 设计模式之 接口隔离原则
文章目录1、简介2、实例说明1、简介不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上。啥意思呢,就是引用的接口要有专业性,有用才用,没有用就不用。假若有一个接口interfaceType ,里面包含三种方法,SwimRunFly正好我们有 ship,car,plane,要继承接口里面的方法这样的结果就是当我们有时候修改接口里面的一个方法的时候,被它继承的子...原创 2020-03-19 17:16:57 · 713 阅读 · 0 评论 -
白话 Android 设计模式 之 依赖倒转原则
文章目录1、简介1、简介高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象,抽象不应该依赖于具体实现,具体实现应该依赖于抽象。这听起来真的是像绕口令。我们举一个 汽车 的例子比如我们工厂生产汽车,有宝马、大众,待续····...原创 2020-03-16 18:31:16 · 284 阅读 · 0 评论 -
白话设计模式 之 里氏替换原则
文章目录1、简介2、举例说明1、简介里氏替换原则的定义是 子类必须能够完全替换父类,使父类能够得到充分使用。这个有点像是青出于蓝,可以替代蓝的意思。为了能够达到这种效果,里氏替换的父类和子类 需要满足一下几个基本原则:1)里氏替换原则使开闭原则的重要方式2)子类可以扩展父类的功能,但不能改变父类原有的功能图文比较抽象,我们举一个鸟 ,燕子,麻雀的例子。2、举例说明1) 鸟 作为...原创 2020-03-16 12:06:13 · 353 阅读 · 0 评论 -
白话 Android 设计模式之开闭原则
文章目录1、简介2、示例2.1 店铺卖货1、简介开闭原则:对扩展开放,对修改关闭。对这句话的理解在含有对象的编程语言里,可认为是为自己的程序定义一个相对稳定的抽象层,同时将不同的实现行为一道具体的实现层完成。在很多面向对象的编程语言都有接口和抽象的机制,可以通过他们为自己的程序设置一个抽象层,再通过具体的类来实现扩展。如果需要对系统进行修改,不需要对抽象层进行修改,只需要增加新的具体类就...原创 2020-03-12 16:27:34 · 290 阅读 · 0 评论 -
白话 Android 设计模式之简介
文章目录1、设计模式的起源2、设计模式遵从的6大设计原则2.1 开闭原则 (open closed principle)2.2 里氏代换原则 (Liskov Substitution Principle)2.3 依赖倒转原则 (Dependence Inversion Principle)2.4 接口隔离原则 (Interface Segregation Principle)2.5 最少知道原则...原创 2020-03-12 16:12:15 · 408 阅读 · 0 评论 -
Application 传递全局 参数变量
文章目录1、简介2、功能实例1)、文件结构2)自定义 MyApplication.java 文件3)MainActivity.java文件4)OtherActivity.java 文件5)AndroidManifest.xml 文件3、效果展示1、简介使用 Application 传递全局参数变量方便参数的调用2、功能实例1)、文件结构2)自定义 MyApplication.jav...原创 2019-07-09 16:00:08 · 616 阅读 · 0 评论 -
一个线程中改变主线程组件显示(接口回调实现)
文章目录1、简介2、功能实现1、简介我们经常会遇到在线程中去更改组件状态的一些功能,当然这种方式有很多种,比如可以通过handler 或者 广播等形式实现,但是这里我们通过接口回调我们这里做一个demo主界面是一个 按钮 ,点击跳转到第二个界面,第二个界面也是一个按钮,点击创建一个线程,并且在线程中,通过接口回调,更改主界面上按钮的显示。回到主界面。查看主界面按钮文字是否被修改2...原创 2019-06-12 10:15:49 · 523 阅读 · 0 评论 -
Builder 模式 (类似于AlertDialog 创建 )
文章目录1、源码里 Builder 模式实例1) 首先创建Product 类1、源码里 Builder 模式实例无论在Android SDK 还是各种开源的函数库,经常看到变种的 Builder 模式的应用。例如Android 系统对话框AlertDialog 的使用,语句如下: AlertDialog alertDialog = new AlertDialog.Builde...原创 2019-02-13 11:03:56 · 344 阅读 · 0 评论 -
Android 状态模式 接口的调用(interface)
文章目录1、状态模式介绍2、状态模式的定义3、状态模式的使用场景4、状态模式的UML 类图5、状态模式的简单示例1、状态模式介绍状态模式的行为是由状态决定的,不同的状态有不同的行为。2、状态模式的定义当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。3、状态模式的使用场景(1)一个对象的行为取决于他的状态,并且它必须在运行时根据状态来改变行为。(2)代码中包含了...原创 2018-11-23 16:15:03 · 678 阅读 · 0 评论 -
Android 观察者模式
待续······原创 2018-11-25 00:13:08 · 1575 阅读 · 0 评论 -
Android 责任链模式
文章目录1、责任链模式简介2、责任链的定义3、责任链的使用场景4、责任链模式的UML类图5、责任链模式的简单实现1)示例简介2)示例分析1、责任链模式简介将每个节点看作是一个对象,每一个对象拥有不同的处理逻辑,将一个请求从链式的首段发出,沿着链的路径依次传递给每一个节点对象,直至有对象处理这个请求为止。2、责任链的定义使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。...原创 2018-11-24 15:00:35 · 311 阅读 · 0 评论 -
Android 策略模式 接口的调用
文章目录1、策略模式介绍2、使用场景1、策略模式介绍1)实现某一功能可能会有不同的算法,不同的策略。我们根据不同的实际情况,选择不同的策略。2)策略模式定义了一系列的算法,并将每个算法封装起来,并且他们还都可以相互替换。2、使用场景1)针对同一类型问题的多种处理方式,仅仅是具体行为的差别。2)需要安全的封装多种同意类型的操作3)在需要使用 if else switch case...原创 2018-11-22 16:12:18 · 327 阅读 · 0 评论 -
Android MVC 模式的介绍 与 实战
文章目录1、mvc 框架图2、MVC 在Android 模式里的实现4、小结1、mvc 框架图经典的mvc 模式如图所示1)Model (模型层) 在 MVC 中 Model 一般用来保存数据的状态,比如数据存储,网络请求。同时还与View 存在一定的耦合,通过某种事件机制(比如观察者模式) 通知 View 状态的改变来让view 更新。2)View (视图层)一般由一些GUI...原创 2018-10-15 16:53:12 · 10909 阅读 · 3 评论 -
Android 抽象工厂模式
文章目录1、抽象工厂模式介绍2、抽象工厂模式的定义3、抽象工厂模式的使用场景4、抽象工厂模式的简单实现5、小结1、抽象工厂模式介绍抽象工厂模式也是创建型模式之一,抽象工厂模式起源于对不同操作系统的图形化解决方案,如不同操作系统的按钮和文本框控件及其实现。2、抽象工厂模式的定义为创建一组相关或者相互依赖的对象提供接口,而不需要具体指定他们的具体类。3、抽象工厂模式的使用场景一个对象有相同...原创 2018-10-13 15:12:13 · 728 阅读 · 0 评论 -
Android 工厂方法模式
文章目录1、工厂方法模式介绍2、工厂方法模式的定义3、使用场景4、模式的简单实现1、工厂方法模式介绍工厂方法模式(Factory Pattern ),是创建型设计模式之一。工厂方法模式是一个结构比较简单的模式。2、工厂方法模式的定义就是一个用于创建对象的接口,让子类来决定实体化那个类。3、使用场景在任何需要生成复杂对象的地方,都可以使用工厂模式。4、模式的简单实现我们以生活中一个例...原创 2018-10-12 16:00:03 · 242 阅读 · 0 评论 -
Android 单例模式
文章目录1、单例模式介绍2、单例模式的简单例子3、懒汉模式实现单例模式4、Double Check Lock (DLC) 实现单例5、静态内部类单例模式6、枚举单例7、使用容器是实现单例模式1、单例模式介绍据说在一个app 中,单例对象的类必须保证只有一个实例存在,系统只有一个全局变量存在。2、单例模式的简单例子假设一个公司在 只能有一个CEO ,可以有多个经理,员工。那么我们就把C...原创 2018-09-20 14:48:26 · 1195 阅读 · 0 评论 -
Androd 原型模式
文章目录1、原型模式介绍2、使用场景3、原型模式UML 类图1、原型模式介绍1)该模式有一个样板实例,用户从这个样板对象中复制一个内部属性一致的对象。2)复制的实例就是我们的原型。3)原型多用于创建复杂的或者构造耗时的实例。4)复制一个已经存在的实例可以使程序更高效。2、使用场景1)初始化一个类需要消耗很多的资源,这个资源包括数据、硬件等,通过原型复制避免这些消耗。2)初始化需要非...原创 2018-10-08 15:01:45 · 328 阅读 · 0 评论