设计模式
xjz729827161
Android H5各种搬砖,打杂。保持学习,并记录的热情
展开
-
我眼中的策略模式
按照老习惯,学习设计模式的时候先别管具体的类图啊,操作啊什么的。咱就先看着名字,想想这可能是个什么东西。策略,策略,啥叫策略?达到目的所采用的不同手段,就叫策略。从城市A到城市B去,可以走过去,可以坐汽车,坐火车,坐飞机,做轮船,这些都叫策略。城市A到城市B是目的,交通工具的选择是策略。策略具有可替换性,只是职责中的一环。先瞅瞅,代码中如何实现刚才所说的情况:Class Travel{原创 2016-11-05 13:27:35 · 308 阅读 · 0 评论 -
我眼中的简单工厂模式,工厂模式以及抽象工厂模式
这三种设计模式是层层演进的关系,所以就搁在一起来进行理解。大多数的设计模式都可以根据其名字来进行猜测作用,它们都是工厂模式,先在脑海里转一转现实生活中的工厂是做什么的。工厂嘛,就是用来生产产品用的,每个产品都有一些特定的功能,想到这里,是不是跟代码中的类很像了,类都是具有一定职责的(或者叫功能),生产产品就是创建具有某种功能的类的实例。 假定有产品A,B,C分别对应于class Produ原创 2016-11-05 11:22:24 · 640 阅读 · 0 评论 -
我眼中的装饰器模式
装饰器模式,简称装饰模式。关键在于装饰二字什么情况下用到装饰模式对核心类进行功能的扩充。分清主次,一个是核心功能的类,一个的附加功能的类。从职责的角度来讲,就是把主要的功能和次要的功能隔离开,次要的功能放到装饰类。个人感觉还有一个特点,多种装饰类是可以叠加的。就像生活中,给自己的心爱的房子家加上了灯泡的装饰,也还可以贴墙纸,挂画等装饰。装饰模式的类图为了实现装饰...原创 2017-09-30 14:03:44 · 279 阅读 · 0 评论 -
我眼中的命令模式
什么情况下用到命令模式希望一列系的动作能够有计划的进行,可以进行保存,撤销等操作。将普通的任务改造成命令模式是很简单的。一般情况下,不要急于使用命令模式,真正需要的时候再去改造也是很容易的。为什么后续的改造会很简单?原因在于,动作的执行者是对命令类是没有依赖的。举个例子,假如有正常的功能 类A,它很普通,对谁都没有依赖。这个时候,如果需要改造出一个命令类C,这个命令可以调用功能A,可以将类A以参数的原创 2017-10-10 19:21:36 · 255 阅读 · 0 评论 -
我眼中的观察者模式
什么时候需要用到观察者模式当有一个数据的改变会影响到很多模块的时候。我的理解是这样的,正常的编程过程中经常会使用setListener这种方式,功能类会在合适的时候来调用这个listener。这个关系是一对一的,一个功能类变化了,然后调用一个listener.如果是一个多呢,一个功能类变化了,要刷新多个其它呢?这就是观察模式的来源了。 观察者模式也叫订阅模式,订阅这个动作让我们更好的理解。你订阅了原创 2017-10-10 19:56:46 · 221 阅读 · 0 评论 -
我眼中的责任链模式
什么时候需要用到责任链模式处理事情的对象是先后顺序的。编程中最明显的就是三级缓存,一般,你会先查询内存数据,没有数据再看硬盘数据,再没有数据,则请求网络数据。这里很明显的就是一个个的进行处理。某个对象没有能力处理则把处理权交给另外的对象。类图想要行为一个完整的链,需要有一个设置下一级的能力,类图中需要体现这点类图倒是很简单的 代码//接口部分public interface Loader {原创 2017-10-13 19:18:02 · 232 阅读 · 0 评论 -
我眼中的代理模式
什么时候需要用到代理模式不希望与真实的对象进行交互,或者需要做一些额外的控制。因为是代理的关系,所以与代理对象交互的时候,就像与真实的对象交互一样。只是中间的代理类会做一些额外的操作。现有的代理模式中有静态代理和动态代理两种,静态代理就是在编译的时候代理的关系就已经确定了,而动态的代理是在运行的时候才有的代理关系。先看静态代理静态代理类图类图主要反应两点 1.代理类和被代理类对外界是无法区分的,好原创 2017-10-13 19:44:33 · 214 阅读 · 0 评论 -
我眼中的单例模式
单例模式是一中很常用的设计模式,写代码的过程经常有用到.什么情况下需要单例模式当你只想持有一个实例的时候.这个实例的生命周期是跟随进程的,一旦初始化就常驻内存,并且只有一个实例. 举个例子,如果是一个安卓的工程,Application这个类就是单例的,我只会需要一份.如果是一个普通的任意一个应用,为了表达平台信息的等,这个类也不太可能多处实例化,一般也只需要一个. 单例的坏处在于会占这内存不放.原创 2017-09-30 10:13:56 · 233 阅读 · 0 评论 -
设计模式汇总
设计模式之 六个原则 一法则 都为了践行当初上学时喊的口号:1.封装 继承 多态 2. 高内聚 低耦合合成聚合复用原则 一句白话来说明:少继承,多用成员变量开闭原则 一句白话来说明:买定离手,不要改 对类的拓展开放,对类的修改封闭单一职责原则 一句白话来说明:高内聚 一个类应该只具有单一的职责依赖倒置原则 一句白话来说明:面向接口编程 抽象不应该依赖于细节高层...原创 2018-03-12 17:10:53 · 258 阅读 · 0 评论