常见设计模式
来源:互联网 发布:mac连不上无线鼠标 编辑:程序博客网 时间:2024/04/29 04:32
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模式特点;
- 需要生成的产品对象有复杂的内部结构,这些产品对象通常包含多个成员属性。
- 需要生产的产品对象的属性相互依赖,需要指定其生成顺序。
参考链接:http://design-patterns.readthedocs.io/zh_CN/latest/index.html
- 【设计模式】常见设计模式
- 常见设计模式
- 常见设计模式
- 常见设计模式分类
- 简叙两种常见设计模式
- Java 常见设计模式
- 常见设计模式简介...
- Java 常见设计模式
- 常见UI设计模式
- 常见设计模式
- 常见UI设计模式
- 常见设计模式描述
- 常见UI设计模式
- 常见UI设计模式
- 常见的设计模式
- C#常见设计模式
- 常见的设计模式
- 常见的设计模式
- uva 12108 特别困的学生
- Nginx 收集
- Android增量更新——bsdiff&bspatch
- Linux 常用指令
- 69.Protobuf进阶——使用Python操作Protobuf
- 常见设计模式
- MySql协议详解-CRUD与Result篇
- chrome浏览器提示“adobe flash player不是最新版本!”
- java继承1——类与继承
- nodejs 好用的moment模块
- Android MVP架构中的Presentation层应该怎么设计
- gitHub托管随记
- 传球游戏
- c++ Primer Plus(第六版)第十七章习题,写代码之路