设计模式

备忘录模式-对象行为型

原理备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉(Capture)住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。备忘录模式常常与命令模式和迭代子模式一同使用。组成  备忘录模式所涉及的角色有三个:备忘录(Memento)角色、发起人(Originator)角色、负责人(Caretaker)角...

    123浏览0推荐0评论

    解释器模式-类行为型

    原理给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。组成  模式所涉及的角色如下所示:  (1)抽象表达式(Expression)角色:声明一个所有的具体表达式角色都需要实现的抽象接口。这个接口主要是一个interpret()方法,称做解释操作。  (2)终结符表达式(Terminal Expression)角色:实现了...

      115浏览0推荐0评论

      责任链模式-对象行为型

      原理在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。组成  责任链模式涉及到的角色如下所示:  ●  抽象处理者(Handler)角色:定义出一个处理请求的接口。如果需要,接口可以定义出一个方法以...

        138浏览0推荐0评论

        不变模式-类行为型

        原理一个对象的状态在对象被创建之后就不再变化,这就是所谓的不变模式。不变模式的结构  不变模式可增强对象的强壮型(robustness)。不变模式允许多个对象共享某一个对象,降低了对该对象进行并发访问时的同步化开销。如果需要修改一个不变对象的状态,那么就需要建立一个新的同类型对象,并在创建时将这个新的状态存储在新对象里。  不变模式只涉及到一个类。一个类的内部状态创建后,在整个生命周期都不会发生变...

          133浏览0推荐0评论

          访问者模式-对象行为型

          原理访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。1)访问者模式中对象结构存储了不同类型的元素对象,以供不同访问者访问。2)访问者模式包括两个层次结构,一个是访问者层次结构,提供了抽象访问者和具体访问者,一个是元素层次结构,提供了抽象元素和具体元素。相同的访问者可以以不同的方式访问不同的元素,相同的元素可以接受不同访问者...

            115浏览0推荐0评论

            模板模式-类行为型

            原理模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。在面向对象开发过程中,通常我们会遇到这样的一个问题:我们知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序。但是某些步骤的具体实现是未知的,或者说某些步骤...

              188浏览0推荐0评论

              工厂模式-创建型

              原理工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 模式分类工厂模式可以分为三类: 1)简单工厂模式(Simple Factory) 2)工厂方法模式(Factory Method) 3)抽象工厂模式(Abstract Factory) 工厂方法模式:一个抽象产品类,可以派生出多个具体产品类。 &...

                159浏览0推荐0评论

                设计模式6大原则

                单一职责原则里氏替换原则依赖倒置原则接口隔离原则迪米特法则开闭原则设计模式六大原则(1):单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,...

                  158浏览0推荐0评论

                  单例和原型模式-创建型

                  单例模式确保一个特殊类的实例是独一无二的(它是这个类的唯一实例),并且这个实例易于被访问。解决方案1)全局变量:一个全局变量使得一个对象可以被访问,但它不能防止你实例化多个对象。因为你的任何代码都能修改全局变量,这将不可避免的引起更多调试的意外。换句话说,全局变量的状态总是会出现一些问题的。2)类构造函数私有和类自身的静态方法:让类自身负责保存它的唯一实例(静态变量)。这个类可以保证没有其他实例可...

                    160浏览0推荐0评论

                    javascript 之 责任链模式

                    责任链模式:定义责任链接模式又称职责链模式,是一种对象的行为模式;它是一种链式结构,每个节点都有可能两种操作,要么处理该请求停止该请求操作,要么把请求转发到下一个节点,让下一个节点来处理请求;该模式定义了一些可能的处理请求的节点对象,请求的起点跟顺序都可能不一样,处理的节点根据请求的不一样而不同;请求者不必知道数据处理完成是由谁来操作的,内部是一个黑箱的操作过程,这是它的一个核心内容;责任链模式:...

                      193浏览0推荐0评论

                      javascript 之 责任链模式

                      责任链模式:定义责任链接模式又称职责链模式,是一种对象的行为模式;它是一种链式结构,每个节点都有可能两种操作,要么处理该请求停止该请求操作,要么把请求转发到下一个节点,让下一个节点来处理请求;该模式定义了一些可能的处理请求的节点对象,请求的起点跟顺序都可能不一样,处理的节点根据请求的不一样而不同;请求者不必知道数据处理完成是由谁来操作的,内部是一个黑箱的操作过程,这是它的一个核心内容;责任链模式:...

                        193浏览0推荐0评论

                        单例和原型模式-创建型

                        单例模式确保一个特殊类的实例是独一无二的(它是这个类的唯一实例),并且这个实例易于被访问。解决方案1)全局变量:一个全局变量使得一个对象可以被访问,但它不能防止你实例化多个对象。因为你的任何代码都能修改全局变量,这将不可避免的引起更多调试的意外。换句话说,全局变量的状态总是会出现一些问题的。2)类构造函数私有和类自身的静态方法:让类自身负责保存它的唯一实例(静态变量)。这个类可以保证没有其他实例可...

                          160浏览0推荐0评论

                          设计模式6大原则

                          单一职责原则里氏替换原则依赖倒置原则接口隔离原则迪米特法则开闭原则设计模式六大原则(1):单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,...

                            158浏览0推荐0评论

                            工厂模式-创建型

                            原理工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 模式分类工厂模式可以分为三类: 1)简单工厂模式(Simple Factory) 2)工厂方法模式(Factory Method) 3)抽象工厂模式(Abstract Factory) 工厂方法模式:一个抽象产品类,可以派生出多个具体产品类。 &...

                              159浏览0推荐0评论

                              模板模式-类行为型

                              原理模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。在面向对象开发过程中,通常我们会遇到这样的一个问题:我们知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序。但是某些步骤的具体实现是未知的,或者说某些步骤...

                                188浏览0推荐0评论

                                访问者模式-对象行为型

                                原理访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。1)访问者模式中对象结构存储了不同类型的元素对象,以供不同访问者访问。2)访问者模式包括两个层次结构,一个是访问者层次结构,提供了抽象访问者和具体访问者,一个是元素层次结构,提供了抽象元素和具体元素。相同的访问者可以以不同的方式访问不同的元素,相同的元素可以接受不同访问者...

                                  115浏览0推荐0评论

                                  不变模式-类行为型

                                  原理一个对象的状态在对象被创建之后就不再变化,这就是所谓的不变模式。不变模式的结构  不变模式可增强对象的强壮型(robustness)。不变模式允许多个对象共享某一个对象,降低了对该对象进行并发访问时的同步化开销。如果需要修改一个不变对象的状态,那么就需要建立一个新的同类型对象,并在创建时将这个新的状态存储在新对象里。  不变模式只涉及到一个类。一个类的内部状态创建后,在整个生命周期都不会发生变...

                                    133浏览0推荐0评论

                                    责任链模式-对象行为型

                                    原理在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。组成  责任链模式涉及到的角色如下所示:  ●  抽象处理者(Handler)角色:定义出一个处理请求的接口。如果需要,接口可以定义出一个方法以...

                                      138浏览0推荐0评论

                                      解释器模式-类行为型

                                      原理给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。组成  模式所涉及的角色如下所示:  (1)抽象表达式(Expression)角色:声明一个所有的具体表达式角色都需要实现的抽象接口。这个接口主要是一个interpret()方法,称做解释操作。  (2)终结符表达式(Terminal Expression)角色:实现了...

                                        115浏览0推荐0评论

                                        备忘录模式-对象行为型

                                        原理备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉(Capture)住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。备忘录模式常常与命令模式和迭代子模式一同使用。组成  备忘录模式所涉及的角色有三个:备忘录(Memento)角色、发起人(Originator)角色、负责人(Caretaker)角...

                                          123浏览0推荐0评论
                                          首页上一页1下一页尾页

                                          推荐作者

                                          热门手记