#设计模式

设计模式学习笔记(五:适配器模式)

1.1概述  在实际生活中有很多和适配器类似的问题,比如有A型螺母和B型螺母,那么用户可以在A型螺母上直接使用按着A型螺母标准生产的A型螺丝,同样用户可以在B型螺母上直接使用按着B型螺母标准生产的B型螺丝。但是由于A型螺母和B型螺母标准不同,所以用户在A型螺母上不能直接使用B型螺丝,反之亦然。那现在...

设计模式学习笔记(六:责任链模式)

1.1概述  使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。这就是责任链模式。  责任链模式是使用多个对象处理用户请求的成熟模式,责任链模式的关键是将用户的请求分派给许多对象,这些对...

设计模式学习笔记(七:外观模式)

1.1概述  为系统中的一组接口提供一个一致的界面,Facade(外观)模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。  外观模式是简化用户和子系统进行交互的成熟模式,外观模式的关键是为子系统提供一个称作外观的类。该外观类的实例负责和子系统中的类的实例打交道。当用户...

设计模式学习笔记(八:迭代器模式)

1.1概述  提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露对象的内部表示。这就是迭代器模式的定义。  合理组织数据的结构以及相关操作是程序设计的一个重要方面,比如在程序设计中经常会使用诸如链表、散列表等数据结构。链表和散列表等数据结构都是可以存放若干个对象的集合,...

设计模式学习笔记(九:中介者模式)

1.1概述  用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。这就是中介者模式的定义。  一个对象含有另一个对象的引用是面向对象中经常使用的方式,也是面向对象所提倡的,即少用继承多用组合。但是怎样合理地...

设计模式学习笔记(十:工厂方法模式)

1.1概述 定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。这就是工厂方法模式的定义。 得到一个类的子类的实例最常用的办法就是使用new运算符和该子类的构造方法,但是在某些情况下,用户可能不应该或无法使用这种办法来得到一个子类的实例,其原...

设计模式学习笔记(十一:抽象工厂模式)

1.1概述  提供一个创建一系列或相互依赖对象的接口,而无须指定他们具体的类。这就是抽象工厂模式的定义。 设计某些系统时可能需要为用户提供一系列相关的对象,但系统不希望用户直接使用new运算符实例化这些对象,而是应当由系统来控制这些对象的创建,否则用户不仅要清楚地知道使用哪些类来创建这些对...

设计模式学习笔记(十二:生成器模式)

1.1概述  将一个复杂对象的构建与它的表示分离,使同样的构建过程可以创建不同的表示。这就是生产器模式的定义。 如果一个类中有若干个成员变量是其他类声明的对象,那么该类创建的对象就可以包含若干个其他对象作为其成员。习惯上把一个对象中的成员对象称作它的组件,例如,几何(Geometry)类含...

设计模式学习笔记(十三:原型模式)

1.1概述  用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。这就是原型模式的定义。 在某些情况下,可能不希望反复使用类的构造方法创建许多对象,而是希望使用该类创建一个对象后,以该对象为原型得到该对象的若干个复制品。也就是说,将一个对象定义为原型对象,要求改原型对象提供一个...

设计模式学习笔记(十四:单件模式)

1.1概述  保证一个类仅有一个实例,并提供一个访问它的全局访问点。这就是单件模式的定义。  在某些情况下,我们可能需要某个类只能创建一个对象,即不让用户用该类实例化出多于两个的实例。 例如,在一个公文管理系统中,公文类的实例“公文文件”,需要将...

设计模式学习笔记(十五:组合模式)

1.1概述 将对象组合成树形结构以表示“部分-整体”的层次结构。组合(Composite)使用户对单个对象和组合对象的使用具有一致性。这就是组合模式的定义。 如果一个对象包含另一个对象的引用,称这样的对象为组合对象。如果将当前组合对象作为一个整体的话,那么它所包含的对象就是该...

设计模式学习笔记(十六:桥接模式)

1.1概述  将抽象部分与它的实现部分分离,使他们都可以独立地变化。这就是桥接模式的定义。  抽象类或接口中可以定义若干个抽象方法,习惯上将抽象方法称作操作。抽象类或接口使程序的设计者忽略操作的细节,即不必考虑这些操作是如何实现的,当用户程序面向抽象类或接口时,就不会依赖具体的实...

设计模式学习笔记(十七:状态模式)

1.1概述  允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。这就是状态模式的定义。  一个对象的状态依赖于它的变量的取值情况,对象在不同的运行环境中,可能具有不同的状态。在许多情况下,对象调用方法所产生的行为效果依赖于它当时的状态。 例如,一个...

设计模式学习笔记(十八:模板方法模式)

1.1概述  定义了一个操作中算法的骨架,而将一些步骤延迟到子类中。模板方法使子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。这就是模板方法的定义。  类中的方法用以表明该类的实例所具有的行为,一个类可以有许多方法,而且类中的实例方法也可以调用该类中的其他若干个方法。...

设计模式学习笔记(十九:代理模式)

1.1概述  为其他对象提供一种代理以控制对这个对象的访问。这就是代理模式的定义。  当用户希望和某个对象打交道,但程序可能不希望用户直接访问该对象,而是提供一个特殊的对象,这个特殊的对象被称作当前用户要访问对象的代理,程序让用户和对象的代理打交道,即让用户通过访问代理来访问想要...
首页上一页...56789...下一页尾页