摘要:
# -*- coding:utf-8 -*-class Foo(object): """docstring for Foo""" version = 1.0 def __init__(self, nm='John Doe'): self.name = nm print 'create Foo '+n 阅读全文
摘要:
中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。中介者使对象不需要显示的相互引用,从而使其耦合松散,而且可以独立的改变它们之间的交互。 优点:Mediator的出现减少了各个Colleague的耦合,使得可以独立改变和复用各个Colleague类和Mediator。由于把对象如 阅读全文
摘要:
职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 注意:一个请求极有可能到了链末都得不到处理,或者因为没有正确配置而得不到处理。 阅读全文
摘要:
命令模式(Command):将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 优点:1、它能较容易的设计一个命令队列;2、在需要的情况下,可以较容易的将命令记入日志;3、允许接收请求的一方决定是否要否决请求;4、可以容易的实现对请求的 阅读全文
摘要:
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.nd... 阅读全文
摘要:
/** * Created by hero on 16-4-6. */ public class Singleton { public static Singleton getInstance() { return SingletonHolder.singleton; } private static class SingletonHold... 阅读全文
摘要:
组合模式(Composite):将对象表示成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 希望用户可以忽略组合对象与单个对象的不同,统一的使用组合结构中的所有对象时,就应该考虑使用组合模式。 //我没写过OA系统,不能理解组合模式。 阅读全文
摘要:
备忘录模式(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以恢复该对象到原先的状态。 Caretaker负责不暴露Originator的内部细节,Memento负责备忘字段。用星姐的话 完美!\\\> </// 不足:角色状态要完整存储到备 阅读全文