常见设计模式

Android开发中常见设计模式

1.工厂方法模式(5)

​ 属于类创建型模式。又叫工厂方法模式,又被成为多态工厂模式,因为它完全符合开闭原则。工厂父类负责定义创建产品对象的公共接口,工厂子类负责不同产品的具体实现,增强了代码的扩展性。

​ 开闭原则:类对于扩展是开放的,但是对于修改是封闭的。

​ 包含有四个角色:Product抽象产品,ConcreteProduct体产品,Factory抽象工厂,ConcreteFactory具体工厂。

​ 当只有一个具体工厂时,在具体工厂中可以创建所有的产品对象,并且工厂设计方法为静态设计方法时,工厂方法模式将退化为简单工厂模式。

工厂模式保持了简单工厂模式的优点,且客服了简单工厂模式的缺点,完全符合开闭原则。但是在增加新工厂时,会成对增加系统类数, 增加了系统的复杂性。

2.简单工厂模式(4)

​ 属于类创建型模式。简单工厂模式最大的有点在于对象的创建和对象的使用分离,可以降低代码的耦合度,使得两者修改起来都相对容易;其二,静态方法,调用方便;但是其最大的缺点在于工厂类不够灵活,增加新的产品需要修改工厂内部的判断逻辑,而且一旦产品较多时,工厂内部逻辑显得较为复杂,违背了开闭原则。

​ 适用情况:工厂类负责创建的对象比较少;调用者只需要传入几个参数,并不关心其创建细节。

3.抽象工厂模式(5)

​ 属于类创建型模式。一个产品类的实例如何被创建、组合和表达的细节,我们并不需要知道和关心时,那么就适用于所有的工厂类模式。

4.单例模式(4)

​ 单例模式(Singleton Pattern):单例模式确保某一个类只有一个实例。

​ 单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须向进程提供这个实例。单例模式是一个对象创建型模式。

​ 单例类,必须提供一个私有的构造函数,确保调用者无法通过new关键字实例化它。除此之外还需要一个公共的静态工厂getInstance方法来获得实例和一个自身的私有静态成员变量。

​ 作用;避免产生过多的对象消耗过多的资源,或者说有的对象有且只能有一个。

懒汉式单例最大的弊端在于:已经实例化后,多线程还在串行执行getInstance方法,浪费不必要的资源。所以应该将synchronized关键字移到判空后面,双层判空方法。

5.观察者模式
6.代理模式
7.适配器模式
8.建造者模式(builder模式)

​ builder模式特点;

  1. 需要生成的产品对象有复杂的内部结构,这些产品对象通常包含多个成员属性。
  2. 需要生产的产品对象的属性相互依赖,需要指定其生成顺序。
参考链接:http://design-patterns.readthedocs.io/zh_CN/latest/index.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值