设计模式分析
文章平均质量分 77
关于设计模式的思考和分析,联合每一种模式在android源码中是如何应用的进行分析,有助于理解设计模式的思想。
心之所善兮
心之所善兮
展开
-
简单工厂模式
java和android中对简单工厂模式使用的分析。原创 2015-04-23 22:57:50 · 424 阅读 · 0 评论 -
装饰模式
1. 装饰模式(Decorator)的定义:又名包装(Wrapper)模式,装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。2. 装饰模式以对客户端透明的方式动态的给一个对象附加上更多的责任。换言之客户端并不会觉的对象在装饰前和装饰后有什么区别。3. 装饰模式可以在不创造更多的子类的模式下,将对象的功能加以扩展。4. 装饰模式与类继承的区别原创 2015-07-13 22:04:49 · 423 阅读 · 0 评论 -
策略模式
场景是商城打折促销,正常收费,打8折收费,每满500减少50收费 这里结合简单工厂模式来产生不同的收费策略。而每个收费策略都有一个公共的抽象类 公共的抽象类:/** * 收费抽象类 * @author Administrator * */public abstract class CashSuper { //抽象的收费方法 public a原创 2015-07-12 17:14:50 · 396 阅读 · 0 评论 -
外观模式
应用场景1)为一个复杂子系统提供一个简单接口。屏蔽了复杂系统的实现的细节,对外提高了更简便的操作2)提高子系统的独立性。3)在层次化结构中,可以使用Facade模式定义系统中每一层的入口。 /** * 子系统1 * @author Administrator * */public class SubSystem1 { public void open()原创 2015-07-26 12:29:05 · 418 阅读 · 0 评论 -
桥接模式
应用场景:在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。类似于数学中如果一个函数有多个变量,我们就应该保证在同一时刻只能只有一个变量在变化,当这个变量确定了后,在让另一个变量变化。下面举个例子来说明:不同的人,不原创 2015-08-05 03:47:46 · 535 阅读 · 0 评论 -
享元模式
应用场景:可以避免大量非常相似类的开销,有时需要生成大量细粒度的类实例来表示数据,如果发现这些实例除了几个参数外基本上都是相同的,有时就能够大幅度减少需要实例化的类数量。如果将这些参数移到类实例外面,在方法调用时将他们传递进来,就可以通过共享大幅度减少单个实例数目。/**用户**/public class User {public String userNa原创 2015-08-05 22:41:35 · 342 阅读 · 0 评论 -
备忘录模式
应用场景:用于需要维护或记录历史的类,或者需要保存属性只是众多属性中的一小部分时,可以通过保存的备忘录信息还原到之前的状态。/** * 游戏角色的状态 * @author Administrator * */public class RoleState {//状态时刻标记public String state_Time;//血量public in原创 2015-08-05 02:21:06 · 366 阅读 · 0 评论