`
xuedong
  • 浏览: 304795 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
------------------------------ 享元模式(Flyweight) -------------------------------(1)主要用于创建对象时,运用共享技术,减少对象对内存的占用.一个提高程序效率和性能的模式,会大大加快程序的运 行速度.就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。 Flyweight(享元)模式中常出现Factory模式。Flyweight的内部状态是用来共享的,Flyweight factory负责维护一个对 象存储池(Flyweight Pool)来存放内部状态的对象。 Flyw ...
------------------------------ 状态模式(state) -------------------------------(1)State模式定义:不同的状态,不同的行为; 或者说,每个状态有着相应的行为.适用场合:State模式在实际使用中比较多,适合"状态的切换".因为我们经常会使用If elseif else 进行状态切换, 如果针对状态的这样判断切换反复出现,我们就要联想到是否可以采取State模式了. -->适合于内部状态,不断循环变化的. (2)一个state,包括两部分: 对象 + 对象内部的属性(属性接口+具体属性)一个对 ...
------------------------------ 代理模式(Proxy) -------------------------------(1)代理的好处:--->是可以在间接访问对象的同时,要其前或后,添加其它的逻辑代码.--->对原来逻辑进行添加其它逻辑,最终生成新的逻辑.即:对类的方法添加一些额外的逻辑,生成新的方法逻辑. (2)静态代理: -->一个原类与一个代理类要一一对应。-->两者都实现共同的接口或继承相同的抽象类;-->只是在代理类中,实例化原类,在原类方法的前后添加新的逻辑。如下:抽象角色:abstract public class ...
------------------------------ 适配器模式(adapter) -------------------------------(1)适配器模式的意图是将一个已存在的类/接口进行复用,将其转换/具体化成客户希望的另外的一个类/接口。(2)如何实例复用:将要进行复用的类,放到目标类的构造方法中,进行实例化,然后在目标类的相应方法中,进行调用,修改原来方法 中的参数,或添加相应的逻辑。即复用了已有类的原来方法。 要被复用的类:public class Adaptee{    public long getPower(long base,long exp){       ...
------------------------------ 外观模式(Facade) -------------------------------(1)外观模式属于结构型模式,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式的主要用途就是为子系统的复杂处理过程提供方便的调用方法,使得子系统更加容易被使用。-->将复杂的过程包含在里面,提供一个简单的应用接口即可. (2)例如在一个泡茶的过程中,需要作如下的工作:烧开水,准备茶叶,把茶叶放在被子里,把烧开的水放到茶杯中,只 有经过这些过程之后才能泡出好的茶叶来。这是一个常用的步骤,80%的泡茶步骤都是 ...
------------------------------ 迭代器模式(Iterator) -------------------------------(1)基本概念:迭代器模式属于行为型模式,其意图是提供一种方法顺序访问一个聚合对象中得各个元素,而又不需要暴露该对象的 内部表示。至少可以历遍first,next,previous,last,isOver,或是历遍选择符合某种条件的子元素.(2)结构:由一个接口与一个实现类组成.接口: 主要是定义各历遍的方法.实现类: 需要一个计算点private int current=0 ; 以及一个容器Vector,来存在原来的进行历遍的一团东西;再 ...
-------------------------------- 观察者模式(Observer) --------------------------------(1)基本概念:观察者模式属于行为型模式,其意图是定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 这一个模式的关键对象是目标(Subject)和观察者(Observer)。一个目标可以有任意数目的依赖它的观察者,一旦目标的状态发生改变,所有的观察者都得到通知,作为对这个通知的响应,每个观察者都将查询目标以使其状态与目标的状态同步。 适用场景: 观察者模式,用于存在一对多依赖 ...
-------------------------------- singelton(单例模式) --------------------------------基本概念:Singleton 是一种创建性模型,它用来确保只产生一个实例,并提供一个访问它的全局访问点.对一些类来说,保证只有一个实例是很重要的,比如有的时候,数据库连接或 Socket 连接要受到一定的限制,必须保持同一时间只能有一个连接的存在. 运用:在于使用static变量;创建类对象,一般是在构造方法中,或用一个方法来创建类对象。在这里方法中,加对相应的判断即可。   单态模式与共享模式的区别: 单态模式与共享模式都是让 ...
------------------------- static Factory Method(静态工厂) -------------------------(1)在设计模式中,Factory Method也是比较简单的一个,但应用非常广泛,EJB,RMI,COM,CORBA,Swing中都可以看到此模式 的影子,它是最重要的模式之一.在很多地方我们都会看到xxxFactory这样命名的类. (2)基本概念:FactoryMethod是一种创建性模式,它定义了一个创建对象的接口,但是却让子类来决定具体实例化哪一个类.通常我们将Factory Method作为一种标准的创建对象的方法。 应用 ...
把很简单的东西搞得那么复杂,一次性代码,设计模式优势的实例说明:(策略模式)说明:模拟鸭子游戏的应用程序,要求:游戏中会出现各种颜色外形的鸭子,一边游泳戏水,一边呱呱叫。 第一种方法:(一次性代码)直接编写出各种鸭子的类:MallardDuck//野鸭,RedheadDuck//红头鸭,各类有三个方法:quack():叫的方法swim():游水的方法display():外形的方法 第二种方法:运用继承的特性,将其中共同的部分提升出来,避免重复编程。即:设计一个鸭子的超类(Superclass),并让各种鸭子继承这个超类。public class Duck{     public void ...
设计模式;一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂”就在于它是要构造一个“万 能钥匙”,目的是提出一种对所有锁的开锁方案。在真正理解设计模式之前我一直在编写“简单”的代码.这个“简单”不是功能的简单,而是设计的简单。简单的设计意味着缺少灵活性,代码很钢硬,只在这个项目里有用,拿到其它的项目中就是垃圾,我将其称之为“一次性代码”。 -->要使代码可被反复使用,请用'设计模式'对你的 ...
1、等我有钱了,我就买一辆公交车,专门走公交专用车道,专门停在公交车站,等有人想上车了,我就说:对不起,这是私家车 2、客官 您是打尖还是住店 我大便 3、我年轻过,你们呢,老过么? 4、绅士无非就是耐心的狼 5 ...
lazycms::$sysname第一次见到这种表现方式,请问是双冒号什么意思 答:直接属类的方法或属性。也就是static 静态方法或属性的使用。域运算符,一般用于在B类对象中使用A类对象的属性/方法!     本文描述 PHP V5 中对象和类的基础 ...
1.jquery 8大选择器:基本、属性选择器,层级、子元素选择器,内容、可见性选择器,表单、表单属性选择器 2.jquery dom元素操作(对象访问)      each()   $("img").each(function{alert("test each()";});      size()   $(" ...
function fnExist(fnName) { return fnName in this && typeof (eval(fnName)) == "function"; }     转自:http://qitonghui.iteye.com/blog/1063460
Global site tag (gtag.js) - Google Analytics