1 概述 定义 给定一门语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。类图如下: AbstractExpression 抽象表达式解释器,具体的解释由各个实现类完成,抽象解释器通常只有一个方法,定义每个表达式解释器都有一个解析的任务。任务通过递归调用的方式,最
1 概述 1.1定义 为其他对象提供一种代理以控制对这个对象的访问。 1.2 类图 subject:抽象主题类,可以是接口也可以是抽象类。 realsubject:具体主题
1 概述 定义 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到之前的状态。 备忘录模式就是提供一种对象的备份的模式,类图如下 originator:发起人角色,负责定义那些属于备份范围,负责创建和恢复备忘录数据 memento:负责存储发起人
1 概述 定义:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。 子系统也可以理解为一个类或者一个模块,不管内部什么情况,都需要通过一个入口来访问。子系统并不知道门面的存在,对于子系统来说,门面就是一个特殊客户端而已。 2 优缺点 优
1 概述 定义:定义一组算法,将每个算法都封装起来,并可以互换。通用类图如下: 策略模式使用的就是面向对象的继承和多态机制,非常容易理解,主要有三个角色: strategy:策略接口,定义每个策略或算法必须有的方法和属性。 context:上下文角色,主要作用是屏蔽高层模块对策略的直接访问 conc
1 概述 1.1 定义 将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。 1.2 通用类图 product类是要建造的产品,一般是使用了模板方法模式,也就是有模板方法和基本
1概述 1.1简介 原型模式指定创建对象的种类,并且通过拷贝这些原型创建新的对象,就是创建对象是不使用new,而是通过拷贝的方式创建对象。 1.2 原型模式的优点 性能好:原型模式是在内存二进制流中的拷贝,比new性能好很多。 逃避构造函数的约束:既是缺点也是优点,拷贝是构造函数不会执行。 1.3使
1.概述 1.1定义 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 1.2 优缺点 优点:减少内存开销,避免了对资源的多重占用; 缺点:扩展困难,扩展只能修改代码; 1.3 使用场景 要求生成唯一序列号的环境;
1.概述 工厂就是将零件组装成成品的地方。例如,汽车成品做好交由4S店或者汽贸城的门店销售,复杂的汽车生产在工厂完成。这样其实就是解耦,工厂设在郊区,地皮便宜而且加工复杂且嘈杂,销售设在繁华的城市里。 对比代码也是一样的,有一些对象常常需要复杂的创建过程,如果把这些放在构造函数中,会极大影响代码的可