设计模式
yun382657988
加油!努力工作,好好挣钱!
展开
-
Android开发之设计模式-原型模式
原型模式(Prototype Pattern)定义:是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库...原创 2018-10-08 14:27:05 · 554 阅读 · 0 评论 -
Android开发之设计模式-策略模式
在策略模式(Strategy Pattern)一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决:在有多种算法相似的情况下,使用 if......原创 2018-10-10 14:57:34 · 397 阅读 · 0 评论 -
Android开发之设计模式-享元模式
享元模式(Flyweight Patter):享,就是共享;元,就是元数据。简单来说,这个模式就是将系统中的对象公用,不用创建很多对象造成JVM拥塞。类似于平常用到的数据库连接池。 把一个对象的状态分成两部分,变与不变。通过共享不变的部分,变化的状态通过参数传入,达到减少对象数量的目的。享元模式通常结合工厂模式一起实现,具体怎么做呢?最常见的例子就是Java中的字符串常量。主要解决:...原创 2018-10-10 14:06:32 · 188 阅读 · 0 评论 -
Android开发之设计模式-代理模式
代理模式(Proxy Pattern)在代理模式中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。定义:为其他对象提供一种代理以控制对这个对象的访问。主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安...原创 2018-10-10 13:37:33 · 182 阅读 · 0 评论 -
Android开发之设计模式-适配器模式
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。定义:将一个类的接口转换成客户希望的另外一个接口...原创 2018-10-10 10:59:28 · 1321 阅读 · 0 评论 -
Android开发之设计模式-装饰模式
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们通过下面的实例来演示装饰器模式的用法。其中,我们将把一个形状装饰上不同的颜色,同时又不改变形状类意图:动态地给一个对象添...原创 2018-10-09 18:01:04 · 306 阅读 · 0 评论 -
Android开发之设计模式-组合模式
组合模式(Composite Pattern)又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。我们通过下面的实例来演示组合模式的用法。实例演示了一个组织中员工的层次结构。意图:将对象组...原创 2018-10-09 16:12:43 · 585 阅读 · 0 评论 -
Android开发之设计模式-外观模式
外观模式(Facade Pattern)定义:外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。主要解决:降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口。何时使用: 1、客户端不需要知道系统内部的复杂联系,整个系统只需提供一个"接待员"即可。 2、定义系统的入口。...原创 2018-10-09 14:50:31 · 283 阅读 · 0 评论 -
Android开发之设计模式-桥接模式
桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。我们通过下面的实例来演示桥接模式(Bridge Pattern)的用法。其中,可以使用相同的抽象类方法但是不同的桥接实...原创 2018-10-09 11:04:15 · 404 阅读 · 0 评论 -
Android开发之设计模式-抽象工厂模式
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。介绍:意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类...原创 2018-10-09 09:45:52 · 163 阅读 · 0 评论 -
Android开发之设计模式-工厂模式
工厂模式(Factory Pattern)属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。...原创 2018-10-08 17:13:03 · 370 阅读 · 0 评论 -
Android开发之设计模式-建造者模式
建造者模式(Builder Pattern)即Builder模式,使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。介绍意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。主要解决:主要解决在软件系统...原创 2018-10-08 16:03:11 · 2502 阅读 · 0 评论 -
Android开发之设计模式-单例模式
单例模式(Singleton Pattern )定义:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供整个实例,这个类成为单例类,它提供全局访问的方法。要点:1、某一个类只能有一个实例;2、单例类必须自己创建自己的唯一实例;3、单例类必须自行向整个系统提供这个实例。介绍:意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。主要解决:一个全...原创 2018-10-08 11:32:31 · 241 阅读 · 0 评论 -
Android开发之设计模式-简介
最近在学习设计模式,把它们写进博客记录下来,以备查阅。学习设计模式我们要从以下几点入手:设计模式是什么?为什么要使用设计模式?设计模式需要在什么场景下使用?设计模式有哪些使用原则?设计模式有哪些类型?1、设计模式是什么?先看度娘给的解释::一目了然哈。试想我们写出的代码,别人看不懂或者是过了一段时间自己也看不懂了,扩展性不好,更不利于维护,这该多么糟糕。...原创 2018-10-07 18:08:10 · 264 阅读 · 0 评论 -
Android开发之设计模式-观察者模式
观察者模式(Observer Pattern)定义:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。何时使用:一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。如何解决:使用面向对象技术,可以将这...原创 2018-10-10 16:53:46 · 653 阅读 · 0 评论