ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 设计模式的精髓

设计模式的精髓

原创 Linux操作系统 作者:lxf3339 时间:2011-03-08 15:05:55 0 删除 编辑

设计模式之Factory:提供创建对象的接口.
工厂模式中有: 工厂方法(Factory Method)与抽象工厂(Abstract Factory).
这两个模式区别在于需要创建对象的复杂程度上。抽象工厂主要将Factory变成抽象类,将共同部分封装在抽象类中,不同部分使用子类来实现,将工厂方法拓展成抽象工厂.
抽象工厂还有另外一个关键要点,生产对象的方法之间有一定联系,所以才要将这两个生产对象方法捆绑在一个类中,这个工厂类有其本身特征,也许创建过程是统一的。
设计模式之Prototype(原型):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.
设计模式之Builder:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. (为了将构建复杂对象的过程和它的部件解耦.注意: 是解耦过程和部件.)
设计模式之Singleton(单态):Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。

设计模式之Facade(外观):为子系统中的一组接口提供一个一致的界面.
设计模式之Proxy(代理):为其他对象提供一种代理以控制对这个对象的访问.
计模式之Adapter(适配器):将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份.
设计模式之Composite(组合):将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性.
设计模式之Decorator(油漆工):动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活.
设计模式之Bridge:将抽象和行为划分开来,各自独立,但能动态的结合.
设计模式之Flyweight(享元):避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类).

设计模式之Template:定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中.
设计模式之Memento(备忘机制):memento是一个保存另外一个对象内部状态拷贝的对象.这样以后就可以将该对象恢复到原先保存的状态.
设计模式之Observer:
设计模式之Chain of Responsibility(职责链):Chain of Responsibility(CoR) 是用一系列类(classes)试图处理一个请求request,这些类之间是一个松散的耦合,唯一共同点是在他们之间传递request. 也就是说,来了一个请求,A类先处理,如果没有处理,就传递到B类处理,如果没有处理,就传递到C类处理,就这样象一个链条(chain)一样传递下去。
设计模式之Command:将这些命令封装成在一个类中,然后用户(调用者)再对这个类进行操作,这就是Command模式,换句话说,本来用户(调用者)是直接调用这些命令的,如菜单上打开文档(调用者),就直接指向打开文档的代码,使用Command模式,就是在这两者之间增加一个中间者,将这种直接关系拗断,同时两者之间都隔离,基本没有关系了.
设计模式之State:不同的状态,不同的行为;或者说,每个状态有着相应的行为.
设计模式之Strategy(策略):定义一系列的算法,把这些算法一个个封装成单独的类.
设计模式之Mediator(中介者):用一个中介对象来封装一系列关于对象交互行为.
设计模式之Interpreter(解释器):定义语言的文法 ,并且建立一个解释器来解释该语言中的句子.
设计模式之Visitor:作用于某个对象群中各个对象的操作. 它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/133368/viewspace-688664/,如需转载,请注明出处,否则将追究法律责任。

上一篇: CMMI意义
请登录后发表评论 登录
全部评论

注册时间:2011-02-16

  • 博文量
    27
  • 访问量
    17468