设计模式
文章平均质量分 91
二货小青年
这个作者很懒,什么都没留下…
展开
-
安卓关于设计模式_策略模式
策略模式:定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。设计原则:找出应用中可能需要变化之处,把它们独立并"封装"起来,不要和那些不变的代码混在一起,以便以后可以轻易的改动或扩充此内容,而不影响不需要变化的其他部分。这样做的好处是代码变化引起的不经意后果变少,系统变得更有弹性。针对接口编程Animmal dog = new Dog(原创 2016-11-03 09:45:08 · 485 阅读 · 0 评论 -
安卓关于设计模式_观察者模式
观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象状态改变时,它的所有依赖者都会自动收到通知并更新设计原则:为了交互对象之间的松耦合设计而努力(降低了对象之间的互相依赖)1. 当两个对象之间松耦合,它们依然可以交互,但是不清楚彼此间的细节;2. 一对多的关系是如何关联的: 一方面 "一个" 主题拥有状态,并且能够控制这些状态;另一方面,有 "多个" 观察者原创 2016-11-04 09:22:49 · 361 阅读 · 0 评论 -
安卓关于设计模式_装饰者模式
装饰者模式:动态的将责任附加到对象上,若要扩充功能,装饰者提供了比继承更具有弹性的代码方案。因为基类加入新的功能时不一定适合所有的子类,这也导致了继承不能解决所有的问题。设计原则: 类应该对扩展开放(能够扩展),对修改关闭(不能修改现有的代码)。特点: 1. 装饰者和被装饰着具有相同的超类; 2. 可以用一个或者多个装饰者包装一个对象; 3. 既然装饰者和被装饰着具有相原创 2016-11-07 13:59:43 · 490 阅读 · 0 评论 -
安卓关于设计模式_工厂模式
工厂模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类将实例化推迟到子类。只需要创建相关或依赖对象的家族,而不需要明确指定具体类。这样,客户程序中关于超类的代码和子类对象创建代码解耦了。设计原则:针对接口编程,而不是针对实现编程(变量不可以持有具体类的引用)。关于Pizza的工厂模式的uml图:用例:需求:假设我们现在原创 2016-11-10 10:17:39 · 423 阅读 · 0 评论 -
安卓设计模式_命令模式
命令模式:把封装带到一个新的境界:把方法调用封装起来。所以调用此方法的对象不需要关心事情是如何进行的,只需要知道如何使用包装形成的方法来完成它就可以了。特点:1. 将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。2. 命令模式也支持可撤销的操作。3. 命令模式可以实现请求调用者和请求接收者之间的解耦。用例:需求:假设现在有一个遥控器,里面原创 2016-11-18 09:47:32 · 304 阅读 · 0 评论 -
安卓设计模式_单例模式
单例模式:有一些对象我们只希望有一个,例如线程池、缓存、日志对象等。这个时候就可以用到单利模式,单例可以确保一个类只有一个实例,并且提供一个全局访问点。常见的单例:1. 经典的单例:/** * Created on 2016/11/15. * 经典单利模式 */public class Person1 { private static Pers原创 2016-11-15 16:31:23 · 279 阅读 · 0 评论