[设计模式]
SuperDream
It is not our abilities, but our choices that determine our lives.
展开
-
JAVA设计模式一:---Singleton(单例模式)
[java] view plaincopyprint?package design.singleton; /** * 文件名称:design.singleton.Singleton.java * 创建人:Fei Wong * 创建时间: 2012-06-20 * 电子邮箱:feiwong8@126.com * 一、JAVA转载 2013-05-02 17:05:43 · 497 阅读 · 0 评论 -
JAVA设计模式九:--Command(命令模式)
点击打开转载处链接概述在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,可以实现二者之间的松耦合[李建忠]。这就是本文要说的Command模式。意图将一个请求封装为一个对象,从而使你可转载 2013-05-02 17:18:22 · 466 阅读 · 0 评论 -
JAVA设计模式十五:--Interpreter(解释器模式)
点击打开转载处链接Interpreter模式,即解释器模式。 解释器模式属于行为模式,Gof是这样定义的:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解 释语言中的句子。 解释器模式需要解决的是,如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子]。这样就可以构建一个解释器,该解释器通过转载 2013-05-02 17:25:47 · 522 阅读 · 0 评论 -
JAVA设计模式十三:--Mediator(中介者模式)
一、中介者模式简介(Brief Introduction)中介者模式(Mediator Pattern),定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互。 Define an object that encapsulates how a set of objects interact. Mediato原创 2013-05-02 17:24:17 · 626 阅读 · 0 评论 -
JAVA设计模式四:---Builder(建造者模式)
定义: 将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。实用范围 1 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 2 当构造过程必须允许被构造的对象有不同表示时。角色 在这样的设计模式中,有以下几个角色: 1 builder:为创建一个产品对象的各个部件指定抽象接口。 2转载 2013-05-02 17:13:20 · 514 阅读 · 0 评论 -
JAVA设计模式十四:--Visitor(访问者模式)
点击打开转载处链接访问者模式(Visitor Pattern)是GoF提出的23种设计模式中的一种,属于行为模式。据《大话设计模式》中说算是最复杂也是最难以理解的一种模式了。 定义(源于GoF《Design Pattern》):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。从定义可以看出结构对象是使用访问者模式必备条件转载 2013-05-02 17:25:05 · 501 阅读 · 0 评论 -
JAVA设计模式十:--strategy(策略者模式)
点击打开转载处链接概念:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。(原文:The Strategy Pattern defines a family of algorithms,encapsulates each one,and makes them interchangeable. Strategy转载 2013-05-02 17:20:31 · 388 阅读 · 0 评论 -
java设计模式十六:--Memento(备忘录模式)
点击打开转载处链接定义:在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。涉及角色:1.Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻自身的内部状态,并可使用备忘录恢复内部状态。Originator可以根据需要决定Memento存储自己的哪些内部状态。2.Memento转载 2013-05-02 17:27:12 · 480 阅读 · 0 评论 -
JAVA设计模式十七:--Composite(组合模式)
点击打开转载处链接组合模式定义: 组合模式(Composite Pattern)有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念 ,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。组合模式让你可以优化处理递 归或分级数据结构。有许多关于分级数据结构的例子,使得组合模式非常有用武之地。关于分级数据结转载 2013-05-02 17:28:18 · 586 阅读 · 0 评论 -
java设计模式八:--Template Method(方法模版模式)
点击打开转载处链接一. 模式概述 摸板方法(Template Method)模式是一种非常简单而又经常使用的设计模式.先创建一个父类,把其中的一个或多个方法 留给子类去实现,这实际上就是在使用摸板模式.所谓的摸板模式可以这样来理解:"在一个类中定义一个算法,但将此算法的 些细节留到子类中去实现.换句话说,基类是一个抽象类,那么你就是在使用一种简单形式的摸板模式."更近一步转载 2013-05-02 17:17:24 · 479 阅读 · 0 评论 -
Java中的23种设计模式
Java中的23种设计模式:Factory(工厂模式), Builder(建造模式), Factory Method(工厂方法模式),Prototype(原始模型模式),Singleton(单例模式), Facade(门面模式),Adapter(适配器模式), Bridge(桥梁模式), Composite(合成模式),Decorat转载 2013-05-02 16:52:57 · 778 阅读 · 0 评论 -
JAVA设计模式二:--Abstract Factory(抽象工厂)
点击打开转载处链接抽象工厂模式:提供一个创建一系列相关活相互依赖对象的接口,而无需指定他们具体的类。举2个例子:1.BOSS要求提供JDBC,Hibernate,Ibatis等多套数据库操作解决方案,能够无成本地在这三个解决方案间切换。2.系统的产品有多于一个的产品族,而系统只消费其中某一族的产品(Unix&Windows) Button--->UnixButton/Wi转载 2013-05-02 17:09:54 · 475 阅读 · 0 评论 -
JAVA设计模式五:--Prototype(原型模式)
点击打开转载处链接定义: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。 解决什么问题:转载 2013-05-02 17:14:17 · 702 阅读 · 0 评论 -
JAVA设计模式六:--Iterator(迭代器模式)
点击打开转载处链接迭代器模式:在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素;同时这种“透明遍历” 也为“同一种算法在多种集合对象上进行操作”提供了可能。使用面向对象技术将这种遍历机制抽象为“迭代器对象”为“应对变化中的集合对象”提供了一种优雅的方法。适用性:1.访问一个聚合对转载 2013-05-02 17:15:14 · 485 阅读 · 0 评论 -
JAVA设计模式十二:--State(状态模式)
点击打开转载处链接状态模式(State Pattern)是设计模式的一种,属于行为模式。 定义(源于Design Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。意图:允许一个对象在其内转载 2013-05-02 17:23:16 · 442 阅读 · 0 评论 -
JAVA设计模式十八:--Facade(外观模式或门面模式)
Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。Facade模式概述 实际应用中,我们在对付一些老旧的code(尤其是将C的代码转成C++代码)或者即便不是老旧code,但涉及多个子系统时,除了重写全部代码 (对于老旧code而言),我们还可能采用这样一种策略:重新进行类的设计,将原来分散原创 2013-05-02 17:31:19 · 660 阅读 · 0 评论 -
JAVA设计模式十一:--Chain of Responsibility(职责链模式)
职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的藕合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 1.当客户提交一个请求时,请求是沿链传递直至有一个ConcreteHandler对象负责处理它。 2.接收者和发送者都没有对方的明确信息,且链中的对象自己也并不知道链的结构。结果是职责链可简 化对象的相转载 2013-05-02 17:22:25 · 568 阅读 · 0 评论 -
JAVA设计模式三:--factorymethod(工厂方法模式)
Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到了子类工厂方法模式 工厂方法(Factory Method)模式 工厂方法的结构[1]简介 工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不转载 2013-05-02 17:11:49 · 434 阅读 · 0 评论 -
JAVA设计模式七:--observer(观察者模式)
点击打开转载处链接参与本模式的各类别列出如下。成员函式以模拟的方式列出。抽象目标类别此抽象类别提供一个接口让观察者进行添附与解附作业。此类别内有个不公开的观察者串炼,并透过下列函式(方法)进行作业添附(Attach):新增观察者到串炼内,以追踪目标物件的变化。解附(Detach):将已经存在的观察者从串炼中移除。通知(Notify):利用观察者所提供的更新函式来通知此目标已转载 2013-05-02 17:16:38 · 649 阅读 · 0 评论 -
【Android】获取屏幕尺寸与密度
android中获取屏幕的长于宽,参考了网上有很多代码,但结果与实际不符,如我的手机是i9000,屏幕大小是480*800px,得到的结果却为320*533结果很不靠谱,于是自己写了几行代码,亲测一下测试参数:测试环境: i9000(三星)物理屏幕:480*800pxdensity :1.5测试代码:[java] view原创 2013-05-04 00:16:59 · 718 阅读 · 0 评论