设计模式 - 外观模式(Facade)

定义 为子系统中的一组接口提供一个一致的界面,Facade 模式定义了一个高层接口,这个接口使得子系统更加容易使用。 类型 结构型模式 结构 外观模式结构比较简单,由以下两部分组成: 外观(Facade): 理解哪些子系统负责处理请求,并将客户的请求代理给适当的子系统对象。 子系统(Subsystem): 实现子系统功能,并且处理由 Facade 对象指派的任务。此处子系统可以是...

设计模式 - 代理模式(Proxy)

定义 为其他对象提供一个代理,以控制对这个对象的访问。 类型 结构型模式 结构 代理模式由以下几部分组成: 抽象主题(Subject) 定义 RealSubjet 和 Proxy 的共用接口,这样就在任何使用 RealSubject 的地方可以使用 Proxy; 真实主题(RealSubject) 定义 Proxy 所代表的实体。 代理(Proxy): 保存一个引...

设计模式 - 装饰器模式(Decorator)

定义 动态给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更为灵活。 类型 结构型模式 结构 装饰器模式由以下几部分组成: 抽象组件(Component): 一个接口或抽象类,定义最原始、最核心的对象; 具体组件(ConcreteComponent): 最原始、最核心的接口或抽象类的实现,通常被视为装饰器模式装饰的对象; 抽象装饰器(Decorato...

设计模式 - 适配器模式(Adapter)

定义 将某个类的接口转换成客户端期望的另一个接口表示。适配器模式让原本因接口不匹配不能一起工作的两个类可以协同工作。 类型 结构性模式 结构 适配器模式可分为两种结构,分别为类适配器结构和对象适配器结构。对象适配器依赖多重继承实现,对象适配器通过对象间组合实现。相比较而言,对象适配器更被广泛使用。具体实现结构图下: 类适配器使用多重继承对一个接口和另一个接口进行匹配: 对象适配器...

设计模式 - 原型模式(Prototype)

定义 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象 类型 创建型模式 结构 原型模式由以下几部分组成: 原型(Prototype): 声明一个克隆自身的接口; 具体原型(Concrete Prototype): 实现一个克隆自身的操作; 客户端(Client): 让一个原型克隆自身从而创建一个新的对象。 优点 当创建新的对象比较复杂时,可以...

设计模式 - 建造者模式(Builder)

定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 类型 创建型模式 结构 建造者模式由以下几部分组成: 建造者 (Builder):为创建一个 Product 对象的各个部件指定抽象接口; 具体建造者 (Concrete Builder):实现 Builder 接口所定义的方法,并返回一个组建好的对象; 产品类 (Product):表示被...

设计模式 - 抽象工厂(Abstract Factory)

定义 为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类 类型 创建型模式 结构 抽象工厂主要由以下几部分组成: 抽象工厂(AbstractFactory): 声明一个创建抽象产品对象的操作接口 具体工厂(ConcreteFactory): 实现创建具体产品对象的操作 抽象产品(AbstractProduct): 为一类产品对象声明一个接口 具体...

设计模式 - 工厂方法(Factory Method)

定义 定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类 类型 创建型模式 结构 工厂方法主要由以下几部分组成: 工厂接口(Factory):工厂方法模式的核心,与调用者交互用来提供产品。在实际编程中,有时候也会使用一个抽象类来作为与调用者交互的接口。 工厂实现(ConcreteFactory):决定如何实例化产品,返回具体产品,...

设计模式 - 单例模式(Singleton)

定义 确保一个类只有一个实例,并且提供对对象的全局访问点 类型 创建型模式 结构 实现 单例模式的实现主要有懒汉式、饿汉式、双重校验锁、静态内部类、枚举等 5 种,具体如下: 饿汉式单例 饿汉式单例通过静态变量的方式在启动时即被初始化, 无线程安全问题, 但相其他方式浪费一定的内存空间。实现代码如下: public final class Singleton { priv...

度过有意义的生命

这是一篇俞敏洪在同济大学为学子做主题为“度过有意义的生命”演讲,这是一个在特殊时期特殊环境下成功逆袭的人,身上有很多地方是值得学习和令人钦佩的。 同济大学的同学们大家晚上好! 其实人活着就挺好,至于生命有没有意义另当别论。活着每天都会有太阳升起来,每天都会看到太阳落下去。你就可以看到朝霞,看到晚霞,看到月亮升起和落下,看到满天的繁星,这就是活着的最美好的意义所在。 没想到同济大学的...