
andriod design patterns
deku_
这个作者很懒,什么都没留下…
展开
-
(一)面向对象六大原则及单例模式
一、面向对象六大原则1、优化代码第一步 单一职责原则:将功能独立出来,减少代码的耦和性,例子如ImageLoader只负责图片加载逻辑,而将图片缓存处理逻辑分开至ImageCache中,简单来说就是完全不一样的功能不应该放在一个类中,一个类应该是一组相关性很高的函数2、开闭原则:通过实现一个接口,比如所有接口都实现ImageCache这个接口,再用一个setImageCache方法就可以实...原创 2019-08-29 11:33:05 · 223 阅读 · 0 评论 -
(九)装饰模式&享元模式&外观模式&桥接模式
装饰模式1、 装饰模式介绍结构型设计模式之一,使用一种对客户端透明的方式来动态地扩展对象的功能,同时它也是继承关系的一种替代方式,就好像在人的基础上再加上一层衣服的意思,装饰物也许不同,但是装饰的对象本质是不变的。装饰模式定义就是动态给一个对象添加一些额外的职责,就增加功能来说,装饰对象比生成子类要灵活2、 装饰模式的使用场景需要透明且动态地拓展类的功能时3、 Andriod源码中的...原创 2019-09-04 20:41:40 · 215 阅读 · 0 评论 -
(八)代理模式&组合模式&适配器模式
代理模式1、代理模式介绍代理模式也称为委托模式,结构化模式,就好像现实生活中请律师代理诉讼一样,本质上是为其他对象提供一个代理以控制对这个对象的访问2、代理模式的使用场景当无法或不想直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用透明性,委托对象与代理对象需要实现相同的接口3、代理模式简单组成(1)...原创 2019-09-03 17:04:20 · 577 阅读 · 0 评论 -
(七)访问者模式&中介者模式
访问者模式1、访问者模式介绍访问者模式是一种将数据操作与数据结构分离的设计模式,访问者是一个接口,它拥有一个visit方法,这个方法对访问到的对象结构中不同类型的元素做出不同的处理,我们可以针对对象结构设计不同的访问者类完成不同的操作,达到区别对待的效果2、访问者模式的使用场景(1)对象结构比较稳定,但需要在此对象结构上定义新操作(2)需要对一个对象结构中的对象进行很多不同的并且不相关的...原创 2019-09-02 18:02:01 · 388 阅读 · 0 评论 -
(六)备忘录模式&迭代器模式&模板方法模式
备忘录模式1、备忘录模式介绍一种行为模式 ,用于保存对象当前状态,并且在之后可以恢复到此前状态,有一点需要保证的是保证被保存的对象状态不能被对象从外部访问,在不破坏封闭的前提下,保存和恢复状态2、备忘录模式的使用场景(1)需要保存一个对象在某一个时刻的状态或部分状态(2)如果用一个接口来让其他对象得到这些状态,将会暴露对象的实现细节并破坏对象的封装性,一个对象不希望外界直接访问其内部...原创 2019-09-02 16:25:57 · 172 阅读 · 0 评论 -
(五)解释器模式&命令模式&观察者模式
解释器模式1、解释器模式介绍提供一种解释语言的语法或表达方式,该模式定义了一个解释器语言的语法或表达式的方式,通过该接口解释一个特定的上下文就比如通配式A*B表示AliB这个单词的解释性语法2、解释器模式的使用场景当语句可以表示为一个抽象语法树时某些特定领域出现不断重复的问题,如需要把阿拉伯数字转换成中文3、解释器模式的组成1、抽象表达式 声明一个抽象的解释操作父类2、终结...原创 2019-08-31 17:15:12 · 663 阅读 · 0 评论 -
(四)策略模式&状态模式&责任链模式
策略模式1、策略模式介绍实现某一个功能可以有多种算法或者策略,我们根据实际情况选择不同的算法或者策略完成该功能,一般就会用if…else或者switch…case语句来选择具体算法,需要增加一种新的排序算法时,需要修改封装算法类的源代码,违背了ocp原则和单一职责原则,将这些算法抽象出来提供一个统一的接口,不同算法有不同的实现类,让算法独立于使用它的客户而独立2、策略模式的使用场景(1)针...原创 2019-08-30 20:47:41 · 694 阅读 · 1 评论 -
(三)工厂模式&抽象工厂模式
工厂模式1、工厂模式介绍创建型设计模式,结构简单的模式,创建对象的接口,让子类决定实例化哪个类2、工厂模式使用场景在任何需要生成复杂对象的地方,都可以使用,用new就可以生成就无需使用3、工厂模式的组成分为四大模块,一是抽象工厂,为工厂方法模式的核心,二是具体工厂,实现具体的业务逻辑,三是抽象产品,是工厂模式所创建产品的父类,四是具体产品,为实现抽象产品的某个具体产品的对象4、工...原创 2019-08-30 16:41:45 · 136 阅读 · 0 评论 -
(二)Builder模式&原型模式
Builder模式1、Builder模式介绍Builder模式是一步一步创建一个复杂对象的创建型模式,允许用户在不知道内部构建细节的情况下,精细地控制对象的构造流程,使构建过程和部件的表示隔离#开来,使两者之间的耦合降到最低2、Builder模式的使用场景(1)相同的方法,不同的执行顺序,产生不同的事件结果时(2)产品类较为复杂,参数较多,且很多参数都具有默认值(3)多个部件或零件...原创 2019-08-29 14:26:13 · 162 阅读 · 0 评论 -
(十)MVC模式&MVP模式&总结
MVC模式将应用程序分成3个部分view、model、Controller,mvc是一种框架模式而非设计模式,可以看成三种设计模式,观察者模式、组合模式、策略模式,Controller层一般有Activity层承担,View由Xml层承担,Model层大多对应本地的数据文件或网络获取的数据体MVP模式View只与Prsenter打交道,Model也只与Presenter打交道,这样View就...原创 2019-09-04 21:32:39 · 128 阅读 · 0 评论