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