设计模式
文章平均质量分 68
未至佳期
To be the best one.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式(三)【Adapter模式】
Adapter模式 Adapter模式(适配器模式),将一个类的接口转换为客户希望的另外一个接口。它使得由于接口不兼容而不能一起工作的类可以一起工作。即,我们要为一个功能正确但是接口不合的对象创建一个新的接口。 比如我们已经有了父类Shape,子类Point、Square、Line,而现在有一个新的需求,需要一个Circle子类。但是现在我们已经有了XXCircle,并且XXCircle已经有了所...原创 2018-12-27 20:42:58 · 273 阅读 · 0 评论 -
设计模式(十)Singleton模式和Double-Checked Locking模式
Singleton模式和Double-Checked Locking模式 Singleton模式 《设计模式》一书中的说法,Singleton模式的意图是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 Singleton模式 关键特征 意图 希望对象只有一个实例,但是没有控制对象实例化的全局对象。还希望确保所有实体使用该对象相同的实例,而无需将引用传给它们 问题 几个...原创 2019-02-28 16:00:21 · 444 阅读 · 0 评论 -
设计模式(九)【Template Method模式】
Template Method模式 《设计模式》中描述Template Method模式的意图是:定义一个操作中算法的骨架,而将一些步骤延迟到子类中。不改变算法的结构而重定义它的步骤。 Template Method模式 关键特征 意图 定义一个操作中算法的骨架,而将一些步骤延迟到子类中。不改变算法的结构而重定义它的步骤。 问题 要完成在某一细节层次一致的过程或一系列步骤,但其...原创 2019-02-02 22:38:25 · 175 阅读 · 0 评论 -
设计模式(八)【Observer模式】
Observer模式 《设计模式》分类 分类 意图 例子 用途 创建型 创建或实例化对象 Abstract FactorySingletonDouble-Checked LockingFactory Method 实例化对象 结构型 将已有的对象组合起来 FacadeAdapterBridge 处理接口将实现与抽象联系起来 行为型 给出一种提供灵活(变化)行为的方式 Str...原创 2019-01-31 12:50:59 · 516 阅读 · 0 评论 -
设计模式(五)【Bridge模式】
Bridge模式 《设计模式》对Bridge模式的意图叙述为:将抽象与实现解耦,使它们都可以独立地变化。(一开始没太懂抽象为啥能和实现分离,后来读完才知道,这里的指A抽象与B实现解耦,而不是指同一个对象) 这里的实现指的是抽象类及其派生类用来实现自己的对象(而不是抽象类的派生类,这些派生类被称为具体类)。 示例研究 1、示例初始描述 编写一个程序,使用两种绘图程序之一绘制矩形(使用两个对点的坐标定...原创 2019-01-07 15:10:49 · 244 阅读 · 0 评论 -
设计模式(七)【Decorator模式】
Decorator模式 《设计模式》:动态地给一个对象增加一点额外的职责。就增加的功能来说,Decorator比子类更灵活 案例 需求:为打印销售票据增添表头、页脚信息。 SalesOrder使用SalesTicket,SalesTicket承担打印的职责。 初步设计如下: 但是这种设计存在问题: 如果必须处理很多不同类型的表头和页脚,每次只打印一种类型,那么可以考虑使用Strategy模式。 ...原创 2019-01-12 10:22:13 · 485 阅读 · 0 评论 -
设计模式(六)【Abstract Factory模式】
Abstract Factory模式 《设计模式》:为创建一组或相互依赖的对象提供一个接口,而且无需指定它们的具体类。 示例 需求:给不同机器的配置不同驱动程序: 驱动功能 在低配置机上,使用…… 在高配置机上,使用…… 显示 LRDD低分辨率显示驱动程序 HRDD高分辨率显示驱动程序 打印 LRPD低分辨率打印驱动程序 HRPD高分辨率打印驱动程序 如果使用switch...原创 2019-01-11 21:59:41 · 522 阅读 · 0 评论 -
设计模式(四)【Strategy模式】
Strategy模式原创 2018-12-29 19:53:10 · 776 阅读 · 0 评论 -
设计模式(二)【Facade模式(外观模式)】
Facade模式(外观模式) 为子系统中的一组接口提供一个统一的接口。Facade模式定义了一个更高层的接口,使系统更容易使用。 Facade模式 关键特征 意图 希望简化 原系统的使用方式 。需要定义自己的接口 问题 只要使用某个系统的子集,或者,需要以一种特殊的方式与原系统交互 解决方案 Facade模式为原有系统的客户提供了一个新的接口 参与者与协作者 为客户提供...原创 2018-12-24 15:43:59 · 143 阅读 · 0 评论 -
设计模式(一)【设计模式概述】
设计模式概述 类比建筑学(质量可以客观评价),我们可以得到设计模式背后的观点:软件系统的质量可以客观度量。 模式的描述: 模式的名称 模式的目的,即要解决的问题 实现方法 为了实现该模式我们必须考虑的限制和约数因素 GoF“四人帮”的工作是将已有的模式识别出来。(而非创造) 模式的关键特征: 项目 描述 名称 每个模式都有唯一用于标识的名称 意图 模式的目的 问题 模式要解...原创 2018-12-11 20:04:26 · 150 阅读 · 0 评论 -
设计模式(十一)Object Pool模式
Object Pool模式 使用Singleton模式构建对象池管理Manager,初始化N个对象,当需要使用时遍历N个对象,得到空闲对象,不使用时释放该对象。 Object Pool模式 关键特征 意图 在创建对象比较昂贵,或者对于特定类型能够创建的对象数目有限时,管理对象的重用。 问题 对象的创建和管理必须遵循一组定义明确的规则集。通常这些规则都与如何创建对象、能够创建多少...原创 2019-03-01 11:09:45 · 511 阅读 · 0 评论
分享