随笔分类 - 模式设计
模式设计(八)Composite
摘要:组合模式可以构建部分-整体层次结构或构建数据的树形表示。总之,组合就是对象的集合,其中每个对象既可以是一个组合,也可以是简单的对象。对于树结构来说,有分支节点和叶子节点之说。 总体上来说合成模式应该说是一种应用范围非常广的模式,最常见的莫过于树视图了,每个树视图的节点都可以添加子节点,不断重复就可以构成非常复杂的系统,常用的应用有菜单系统,文件系统都是基于树状结构的。Co...
阅读全文
模式设计(七)Adapter
摘要:之前我们已经介绍完了创建型模式,它们分别为Factory Method,Abstract Factory,Singleton,Builder,Prototype。创建型模式是创建对象而不是直接实例化对象,这会使程序在判断给定情况下创建哪个对象时更为灵活。在C#中为new,在Pascal中为Create。 接下来我们要介绍结构型模式,这类模式可以将一组对象组合成更大的结构。...
阅读全文
模式设计(六) Prototype
摘要:在面向对象的程序开发中,复制功能是非常有意义的。很多时候构造一个对象会很复杂,需要设定很多个参数,并且调用很多个方法。如果这个对象需要很多个实例,那么重复进行复杂的创建过程就非常容易出错,对于这类问题的一个很好的解决模式就是克隆系统中的已有对象,然后对其属性进行少量修改或不作修改,这就是原型模式。 当然作为克隆的实现方法一般有两种:浅拷贝(shallow copy)与深拷贝(...
阅读全文
模式设计(五)Builder Pattern
摘要:前面的工厂模式可以用来创建大量简单的类。但是现象一下像电脑这样一个复杂的产品。每台电脑都有很多部分组成,包括CPU,光驱,显卡,内存.......最终的电脑产品需要按一定的顺序,先安装CPU然后内存等等,在组装过程没有结束之前,电脑是无法使用的。由于这一组装过程可能很复杂,而且可能会经常变动。那么就有必要将这易变的过程抽象出一个外部电脑组装者来负责产品的组装过程。另外,客户对于电...
阅读全文
模式设计(四)Singleton
摘要:尽管在某种程度上,单件模式(Singleton Pattem)是限制而不是改进类的创建,但它仍和其他创建型模式分在一组。单件模式可以保证一个类有且只有一个实列。并提供一个访问它的全局访问点。在程序设计过程中,有很多情况需要确保一个类只有一个实列。例如,系统中只能有一个窗口管理器,一个打印假托机,或者一个数据引擎访问点。PC机中可能有几个串口,但只能有一个Com1实列。 单例模式的特点: ...
阅读全文
模式设计(三)Abstract Factory(未完)
摘要:抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。当要返回一系列相关类种的某一个,而每个类都能根据需要返回不同的对象时,可以使用这种模式。换句话说,抽象工厂是一个工厂对象,它能返回一系列相关类中的一个类,可以使用简单工厂决定返回哪个类。想想我们一直用的例子人的进化。人的种族大体分为黄种人,白种人,黑种人。如果我们遇到这样的一个问题,我们需要进一步细化:亚洲的黄种人进化成了什么?...
阅读全文
模式设计(二)Factory Method(完整)
摘要:一、 工厂方法(Factory Method)模式 工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。这个核心类仅仅负责给出具体工厂必须实现的接口,而不接触哪一个产品类被实例化这种细节。这使得工厂方法模式可以允许系统在不修改工厂角色的情况...
阅读全文
模式设计(一)Simple Factory(完整)
摘要:工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类。工厂模式有以下几种形态:· 简单工厂(Simple Factory)模式 · 工厂方法(Factory Method)模式 · 抽象工厂(Abstract Factory)模式 Simple Factory模式根据提供给它的数据,返回几个可...
阅读全文
设计模式(开始)
摘要:设计模式总体分为3大类:创建型模式、结构型模式、行为型模式。创建型模式又分为:工厂方法模式(Factory Method Pattem),抽象工厂模式(Abstract Factory Pattem),单件模式(Singleton Pattem),生成器模式(Bulider Pattem),原型模式(Protorype Pattem)。结构型模式又分为:适配器模式(Adapter Pattem),...
阅读全文
浙公网安备 33010602011771号