设计模式
monkeyking430
这个作者很懒,什么都没留下…
展开
-
代理模式(Proxy)
代理模式(Proxy)概述代理模式也称委托模式,是一种结构型设计模式,代理类为真实对象提供一种代理以控制对这个对象的访问,以及为委托类提供消息的预处理和消息被委托类处理后的后续处理。为了保证客户端使用的透明性,代理对象和委托对象需要实现相同的接口。代理模式分为静态代理和动态代理。 静态代理是由程序员创建代理类再对其编译,即在编译期代理类的.class文件就已经存在了。 动态代理是在程序运行时运用原创 2017-06-02 16:07:11 · 401 阅读 · 0 评论 -
观察者模式(Observer)
观察者模式(Observer)属于行为型模式,其又被称为订阅–发布模式(Publish/Subscribe),用于当一个对象的状态发生改变时,所有依赖它的对象都能够得到通知并被自动更新。原创 2017-10-17 09:30:40 · 357 阅读 · 0 评论 -
迭代器模式(Iterator)
迭代器模式(Iterator)属于行为模式,提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。类图实例Iterator对象interface Iterator<E>{ void remove(); E next(); boolean hasNext();}Aggregate 提供聚合的接口interface Aggregate{ pu原创 2017-09-25 22:02:55 · 299 阅读 · 0 评论 -
装饰器模式(Decorator)
装饰器模式(Decorator)也叫包装器模式(Wrapper),属于结构型模式,用于动态的为对象添加功能。通常情况下给对象添加功能,要么直接修改对象,要么使用继承来扩展,也可以使用组合的方式。直接修改对象的方式显然是不合适的,如果使用继承的方式,极有可能会导致子类膨胀。在面向对象的设计中,一般使用组合的方式来扩展对象的功能。装饰器模式就是使用组合的方式来代替类继承的方式以扩展对象的功原创 2017-10-16 11:03:24 · 711 阅读 · 0 评论 -
责任链模式(Chain of Responsibility Pattern)
责任链模式(Iterator)概述责任链模式是行为模式。链是一系列节点的集合,链的节点可以任意拆分重组。将每个节点看做一个对象,每个对象都有不同的处理逻辑,将一个请求从链的头节点出发,沿着链的路径依次传递给每一个节点对象,直至有对象可以处理这个请求为止。原创 2017-06-02 18:07:36 · 324 阅读 · 0 评论 -
单例模式(SingleTon)
单例模式(Adapter)属于创建型模式,确保某个类只有一个实例,是最常见的设计模式之一。如日志对象,Android系统下面的XXXManager。原创 2017-09-21 10:35:23 · 417 阅读 · 0 评论 -
适配器模式(Adapter)
适配器模式(Adapter)是结构型模式,将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能再一起工作的那些类可以一起工作。原创 2017-09-21 15:09:35 · 1817 阅读 · 0 评论 -
外观模式(Facade)
Facade(外观)模式,是结构型模式,为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。当要为一个复杂子系统提供一个简单接口时,子系统往往因为不断演化而变得越来越复杂。大多数模式使用时都会产生更多更小的类。这使得子系统更具有可重用性,也更容易对子系统进行定制,但这也给那些不需要定制子系统的用户带来一些使用上的困难。原创 2017-09-22 18:04:48 · 208 阅读 · 0 评论 -
建造者模式(Builder)
建造者模式(Builder)属于创建型模式。一般用于复杂对象的创建,该模式可以将构建复杂对象的过程和它的部件解耦,使得构建过程和部件的表示隔离开来。适合于一个具有较多零件(属性)的产品(对象)的创建过程。原创 2017-09-25 16:04:00 · 241 阅读 · 0 评论 -
原型模式(Prototype)
原型模式(Prototype)属于创建型模式,它通过复制一个已经存在的实例来返回新的实例,而不是新建实例,被复制的实例就是我们所称的原型,这个原型是可定制的。原型模式多用于创建复杂的或者耗时的实例,因为这种情况下,复制一个已经存在的实例可以使程序运行更加高效,或者创建值相等,只是命名不一样的同类数据。原创 2017-09-25 18:39:42 · 348 阅读 · 0 评论 -
工厂模式(Factory)
工厂模式(Factory)属于创建型模式,为创建对象提供一个接口,以便将创建对象的具体过程屏蔽起来,达到提高灵活性的目的。原创 2017-10-17 15:08:36 · 330 阅读 · 0 评论