
设计模式
lywyb112
八年程序员生涯,android、跨平台、php开发,热衷于拥抱新技术
展开
-
android常用设计模式之单例模式
单例模式是设计模式中简单也是常用的一种设计模式。一.单例模式定义: 一个类有且仅有一个实例,并且自行实例化向整个系统提供。二.单例模式的目的: 使得类的一个对象成为系统中的唯一实例。三.单例模式的实现方式: 1.饿汉式饿汉式是最简单的实现方式,/***单例模式-饿汉式*/publicclassSingleton{...原创 2019-03-21 14:07:12 · 461 阅读 · 0 评论 -
android常用设计模式之装饰者模式
一.定义装饰者模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。二.使用场景1.需要扩展一个类的功能,或给一个类添加附加职责。2.需要动态的给一个类添加和撤销一个功能。三.优缺点优点扩展对象功能,灵活性高。缺点增加复杂性四.角色 1.Component(抽象...原创 2019-04-03 10:39:35 · 1450 阅读 · 0 评论 -
android常用设计模式之模板方法模式
一.定义模板方法模式定义了一个算法的步骤,并允许子类为一个或者多个步骤提供实践方法,让子类在不改变算法结构的情况下重新定义算法中的某些步骤。二.使用场景一系列方法中有通用的方法,又有个别使用的方法时。三.优缺点:优点:1.提高代码的复用性2.提高了扩展性缺点:每一个不同的实现都需要一个子类来实现,导致类的个数增加,增加了系统的复杂度。四.角...原创 2019-03-28 11:51:53 · 1430 阅读 · 0 评论 -
android常用设计模式之代理模式
一.定义代理模式:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。二.角色1.抽象角色(Subject) :通过接口或者抽象类声明真实角色实现的业务方法。2.代理角色(Proxy):实现抽象角色,是真实角色的代理。3.真实角色:实现抽象角色,定义真实角色所要实现的业务...原创 2019-03-28 10:17:09 · 1417 阅读 · 0 评论 -
android常用设计模式之策略模式
一.定义策略模式定义了一系列算法,并将一系列算法封装起来,使它们能够相互替换。二.使用角色1.用来操作策略的上下文环境2.策略的抽象2.具体策略实现三.使用场景:1.针对同一类问题的多种实现方式.2.需要安全的封装多重同一类对象时,调用者不会知道算法策略的具体过程。3.一个类有多个子类,并且在调用的时候用if或switch判断的时候。四.使...原创 2019-03-27 14:56:10 · 1339 阅读 · 0 评论 -
android常用设计模式之命令模式
一.定义将一个请求封装成一个对象,从而让用户使用不同的请求把客户端参数化;对请求队列或者记录请求日志,以及支持可撤销的操作。二.角色1.Receiver(接收者角色),负责执行具体的请求。2.Command(命令角色),申明需要执行的所有命令。3.ConcreteCommand(具体命令角色),命令角色的具体实现,通常会持有接收者,并调用接收者来处理命令。4.Invo...原创 2019-04-04 10:45:42 · 1474 阅读 · 0 评论 -
android常用设计模式之观察者模式
一.定义观察者设计模式定义了对象间的一种一对多的组合关系,以便一个对象的状态发生变化时,所有依赖于它的对象都得到通知并自动刷新。简单来说就是,观察者模式中分为观察者和被观察者,当观察者发现被观察者发生改变时,观察者做出相应的动作,比如页面发现业务数据发生变化时,刷新页面。二.角色1.抽象观察者:观察者的抽象类,定义了一个更新的接口。2.具体的观察者:实现抽象观察者的更新接...原创 2019-03-26 09:06:36 · 1400 阅读 · 0 评论 -
android常用设计模式之责任链模式
一.定义:责任链模式属于行为模式,责任链模式为请求者创建一个连接多个接收对象的链,在这个链中请求不断往下执行,直到被处理为止。二.作用:1.将请求发送者和请求接收者解耦,责任链发送者只需要发送请求,并不需要关心怎么处理的,处理有各个请求接收者负责;2.将多个接收对象连成一条链,每个接收对象都有可能接收到请求。三.举例说明举个简单的请假审批的例子来说明下...原创 2019-03-26 09:05:10 · 1513 阅读 · 0 评论 -
android常用设计模式之建造者模式
一.定义:建造者模式属于创建型模式,是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。二.解释和作用: 建造者模式中封装了复杂的建造过程和细节,提供简单的创建方法,使用者不需要知道其中复杂的建造过程和细节,只要提供指定对象的类型和内容就可以直接创建出复杂的对象。 例如:用户需要买一台电脑,他不需要知道电脑的cpu、内存、硬盘等是怎么制造...原创 2019-03-22 15:46:14 · 1499 阅读 · 0 评论 -
android常用设计模式之抽象工厂模式
一.定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。二.角色:1.抽象产品角色:定义不同的抽象产品结构//抽象产品类--CPUpublicabstractclassCPU{ publicabstractvoidshowCPU();}//抽象产品类--内存publicabstractclassMemory...原创 2019-03-22 10:45:07 · 441 阅读 · 0 评论 -
android常用设计模式之工厂方法模式
一.定义: 定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中,工厂方法模式是简单工厂模式的衍生,实现了可扩展性,可适用于更加复杂的业务。二.角色1.抽象产品角色:工厂方法模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。publicabstractclassProduct{ publicabstractvoidpr...原创 2019-03-22 10:39:48 · 142 阅读 · 0 评论 -
android常用设计模式之简单工厂模式
一.定义:由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类的实例。二.角色: 1.抽象产品角色:简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。publicabstractclassProduct{ publicabstractvoidproduce();}2.具体产品角色具体产品角色类继承抽象产品...原创 2019-03-22 10:34:27 · 435 阅读 · 0 评论 -
android常用设计模式之原型模式
一.定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。当new一个对象需要非常繁琐的数据准备或访问权限时就可以使用原型模式,原型模式就是java中的clone技术,以某个对象为原型,复制出新的对象,新的对象具有原型对象的特点。因此原型模式的核心就是clone技术。二.角色1.抽象原型类(Prototype):抽象类或者接口,用来申明clone方法。...原创 2019-03-25 14:39:47 · 1398 阅读 · 0 评论 -
android常用设计模式之适配器模式
一.适配器模式定义: 将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作。二.适配器模式说明: 1.适配器模式分为类适配器模式和对象适配器模式两种。 2.生活中适配器最典型的例子就是手机充电器了,手机充电器做为适配器将家用电压转换成手机可以充电的电压。 3.实际开发中我们遇到两个类之间的接口不兼容又不想改动接口就可以使...原创 2019-03-21 15:02:46 · 466 阅读 · 0 评论 -
android常用设计模式之组合模式
一.定义组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。二.角色1.Component(抽象结构) 是组合中的对象声明接口,在适当的情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component子部件。2.Leaf(叶子结构) 在组合中表示叶子结点对象,叶子结点没有子结点。3.Compo...原创 2019-04-03 12:01:00 · 1473 阅读 · 0 评论